ct_test/Keil_C/User/SC_Init.c

178 lines
4.8 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//************************************************************
// Copyright (c)
// FileName : SC_Init.c
// Function : Contains the MCU initialization function and its C file
// Instructions :
//*************************************************************
#include "SC_Init.h" // MCU initialization header file, including all firmware library header files
#include "..\Drivers\SCDriver_list.h"
#include "HeadFiles\SC_itExtern.h"
#include "motor.h"
//*************************************************************
/***********************user_code_area*********************/
/*<UserCodeStart>*/
/*<UserCodeEnd>*/
/**********************.user_code_area.********************/
/*****************************************************
*函数名称: SC_Init
*函数功能: MCU初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_Init(void)
{
SC_GPIO_Init();
SC_OPTION_Init();
SC_SSI_Init();
SC_TIM0_Init();
SC_TIM1_Init();
//SC_ADC_Init();
/*write initial function here*/
//参考电压
ADC_VrefConfig(ADC_VREF_VDD); //ADC_VREF_VDD ADC_VREF_2_4V
EA = 1;
//电机数据初始化
motor_data[0] = 0x00;//00 直行程 01 角行程
motor_data[1] = 0x00;//00 停止 01 启动 02 运行到起始位 03 运行到结束位
motor_data[2] = 0x00;//00 点动 01 连续
motor_data[3] = 0x00;//00 无状态 01 起始点 02 结束点
motor_data[4] = 0x00;//采样电压高8位
motor_data[5] = 0x00;//采样电压低8位
motor_data[6] = 0x00;//激光电压高8位
motor_data[7] = 0x00;//激光电压低8位
motor_data[8] = 0x00;//磁条长度高8位
motor_data[9] = 0x00;//磁条长度低8位
}
/*****************************************************
*函数名称: SC_OPTION_Init
*函数功能: OPTION配置初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_OPTION_Init(void)
{
/*OPTION_Init write here*/
}
/*****************************************************
*函数名称: SC_GPIO_Init
*函数功能: GPIO初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_GPIO_Init(void)
{
GPIO_Init(GPIO1, GPIO_PIN_4,GPIO_MODE_IN_HI);
GPIO_Init(GPIO1, GPIO_PIN_5,GPIO_MODE_IN_HI);
GPIO_Init(GPIO1, GPIO_PIN_6,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO1, GPIO_PIN_7,GPIO_MODE_IN_HI);
GPIO_Init(GPIO2, GPIO_PIN_7,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO2, GPIO_PIN_6,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO2, GPIO_PIN_5,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO0, GPIO_PIN_7,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO0, GPIO_PIN_6,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO0, GPIO_PIN_5,GPIO_MODE_IN_HI);
GPIO_Init(GPIO0, GPIO_PIN_4,GPIO_MODE_IN_PU);
GPIO_Init(GPIO0, GPIO_PIN_3,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO0, GPIO_PIN_2,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO0, GPIO_PIN_1,GPIO_MODE_OUT_PP);
GPIO_Init(GPIO0, GPIO_PIN_0,GPIO_MODE_OUT_PP);
/*GPIO_Init write here*/
}
/*****************************************************
*函数名称: SC_UART0_Init
*函数功能: UART0初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_UART0_Init(void)
{
/*UART0_Init write here*/
}
/*****************************************************
*函数名称: SC_TIM0_Init
*函数功能: TIMER0初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_TIM0_Init(void)
{
TIM0_TimeBaseInit(TIM0_PRESSEL_FSYS_D12,TIM0_MODE_TIMER);
TIM0_WorkModeConfig(TIM0_WORK_MODE1,55536, 0);
TIM0_ITConfig(ENABLE,LOW);
TIM0_Cmd(ENABLE);
/*TIM0_Init write here*/
}
/*****************************************************
*函数名称: SC_TIM1_Init
*函数功能: TIMER1初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_TIM1_Init(void)
{
TIM1_TimeBaseInit(TIM1_PRESSEL_FSYS_D1,TIM1_MODE_TIMER);
TIM1_WorkModeConfig(TIM1_WORK_MODE1,53536);
TIM1_ITConfig(ENABLE,LOW);
TIM1_Cmd(ENABLE);
/*TIM1_Init write here*/
}
/*****************************************************
*函数名称: SC_ADC_Init
*函数功能: ADC初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_ADC_Init(void)
{
//AD转化频率
ADC_Init(ADC_PRESSEL_FHRC_D32,ADC_Cycle_6Cycle);
//参考电压
ADC_VrefConfig(ADC_VREF_VDD);
/*AIN0口模式设置*/
//ADC_EAINConfig(ADC_EAIN_0,ENABLE);
/*AIN2口模式设置*/
//ADC_EAINConfig(ADC_EAIN_2,ENABLE);
/*AIN1口模式设置*/
ADC_EAINConfig(ADC_EAIN_1,ENABLE);
//AD1 使能
ADC_ChannelConfig(ADC_CHANNEL_1,ENABLE);
//打开AD中断
ADC_ITConfig(ENABLE,LOW);
//AD开始转化
ADC_Cmd(ENABLE);
/*ADC_Init write here*/
}
/*****************************************************
*函数名称: SC_SSI_Init
*函数功能: SSI初始化函数
*入口参数void
*出口参数void
*****************************************************/
void SC_SSI_Init(void)
{
GPIO_Init(GPIO2, GPIO_PIN_1,GPIO_MODE_IN_PU);
GPIO_Init(GPIO2, GPIO_PIN_0,GPIO_MODE_IN_PU);
SSI_UART1_Init(12000000,9600,UART1_Mode_10B,UART1_RX_ENABLE);
SSI_ITConfig(ENABLE,LOW);
/*SSI_Init write here*/
}