Example #1
0
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初始化,测量电池电压
}
Example #2
0
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();
}