/*********************************************************** * 函数说明:系统硬件初始化函数 * * 输入: 无 * * 输出: 无 * * 调用函数:Port_Init() RCC_Configuration() * ***********************************************************/ void Device_Init(void) { RCC_Configuration(); get_sig_cfg_param(1); PORT_Init();/*此处需要修改 malooei 2012/11/14*/ USART2_Configuration(); /* 用于连接pc */ USART1_Configuration(); /* 用于向光纤传输数据 */ DMA_USART1_Configuration( ); adc1_dma_cfg(); ADC1_Configuration(); //box_tmper_ctrl_init(); #if !USE_PVD_CHECK_POWEROFF Exti_Init(); #else Exti_Pvd_Init(); #endif spi1_cfg4ads8329(); delay_us(500*1000); /* 240ms, cpu最低工作电压为2.0V, ads8329最低工作电压为2.7V, David */ init_ads8329(); TIM3_Configuration(); NVIC_Configuration(); return; }
int main(void) { delay_init(); NVIC_Configuration(); /*设置NVIC中断分组2:2位抢占优先级,2位响应优先级*/ LED_Init(); MotorPin_Init(); /*舵机初始化信号线引脚*/ USART1_Config(); Init_TotalArray(); /*计算执行数组*/ Exti_Init(); TIM3_Int_Init(100,100); TIM4_Int_Init(10000,7199); /*定时1S*/ //TIM_Cmd(TIM3, DISABLE); /*接收到指令之后,再打开TIM3*/ //while(!rece_flag); while(1) { /*警告:外部中断ABCDEF的顺序不要颠倒*/ if(rece_flag==1) { if(rece_string[0]=='#') { TIM_Cmd(TIM3, DISABLE); /*先关闭TIM3,避免全局变量被修改*/ motor_speed=250; SolvecubeArray_ToBufferArray(); } change(); TIM_Cmd(TIM3, ENABLE); /*接收到指令之后,再打开TIM3*/ rece_flag=0; } if(flag_vpwm==1) { vpwm(); /*插补角度*/ flag_vpwm=0; } } }