void My_System_Init(void) { uint8_t flag, i=0; NVIC_Configuration(); delay_init(72); //延时初始化 for(i=0;i<5;i++) delay_Ms_Loop(1000); //上电短延时 确保供电稳定 LED_Init(); LEDALL_ON; timer2_init(); //PWM输出定时器初始化 timer3_init(); //PWM输出定时器初始化 IIC_Init(); uart_init(38400); //调试用串口初始化 My_usart2_init(38400); //蓝牙用串口初始化 printf("欢迎使用启天科技BUTTERFLY四旋翼\r\n"); printf("QQ群:471023785\r\n"); LEDALL_OFF; MPU6050_Init(); //6050初始化 SPI1_INIT(); //SPI初始化,用于nRF模块 flag = NRF_CHECK(); //检查NRF模块是否正常工作 if(flag != 1) { while(1) { LEDALL_OFF; delay_Ms_Loop(200); LEDALL_ON; delay_Ms_Loop(200); } } NRF24L01_INIT(); //nRF初始化 SetRX_Mode(); //设置为接收模式 NRF24L01_INIT(); //nRF初始化 NRF_GPIO_Interrupt_Init(); //nRF使用的外部中断的引脚初始化 tim4_init(); //定时中断,作为系统的控制频率 adcInit(); //ADC初始化,测量电池电压 }
void My_System_Init(void) { uint8_t flag; LED_INIT(); Key_INIT(); LED1_OFF; LED2_OFF; //while(1); delay_Ms_Loop(1000); NVIC_Configuration(); SPI1_INIT(); flag = NRF_CHECK();//检查NRF模块是否正常工作 if(flag != 1) { while(1) { LED1_OFF; delay_Ms_Loop(200); LED1_ON; delay_Ms_Loop(200); } } NRF24L01_INIT(); //nRF24L01初始化 // NRF24L01_INIT(); //nRF24L01初始化 NRF_GPIO_Interrupt_Init(); // //防止开机后的突然启动 while(1) { //检测油门 adcInit1(); ADC_Result = ADC_Result/4; if(ADC_Result < 200) break; } LEDALL_ON; }
//初始化 char NRF24L01_INIT(void) { SPI1_INIT(); return NRF24L01_Check(); }