178 lines
4.8 KiB
C
178 lines
4.8 KiB
C
//************************************************************
|
||
// 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*/
|
||
}
|
||
|