二、Crazepony1无人机源码分析-(2)初始化

二、Crazepony1无人机源码分析-(2)初始化

程序源码

    SystemClock_HSE(9);           //系统时钟初始化,时钟源外部晶振HSEs  8*9=72MHz;
    cycleCounterInit();						// Init cycle counter
    SysTick_Config(SystemCoreClock / 1000);	//SysTick开启系统tick定时器并初始化其中断,1ms

    UART1_init(SysClock,BT_BAUD_Set); //串口1初始化  通过USB与电脑通讯  //接收缓冲区非空中断RXNEIE,奇偶检验错中断PEIE

    NVIC_INIT();	                //USART1_IRQn,TIM3_IRQn,TIM4_IRQn

    STMFLASH_Unlock();            //内部flash解锁

    LoadParamsFromEEPROM();

    LedInit();	                  //LED:ABCD的IO初始化

    BT_PowerInit();               //蓝牙电源使能:是否使能电源模块MIC5205,为蓝牙提供V33BT电源
	
	  MotorInit();	                //马达初始化 : 配置PWMA,PWMB,PWMC,PWMD;TIM2频率:24M,PWM频率:24K,ARR=999;
	
  	BatteryCheckInit();           //电池电压监测初始化:检测电源VSYS的电压,PB0:ADC的初始化
	
    IIC_Init();                   //IIC初始化  软件模拟,与MPU6050通讯:I2C_SDA,I2C_SCL的IO口初始化

		//使用软件解算
    MPU6050_initialize();

    //HMC5883L_SetUp();           //初始化磁力计HMC5883L

    NRF24L01_INIT();              //NRF24L01初始化

    PowerOn();                    //开机等待:LED闪烁
#ifndef S02A
    BT_ATcmdWrite();              //蓝牙写配置
#else
	BT_init();
#endif
    BatteryCheck();

    MS5611_Init();		//气压计的初始化

    IMU_Init();			//6个低通滤波器系数初始化   sample rate and cutoff freq.  sample rate is too low now due to using dmp.

#ifdef UART_DEBUG
    //定时器3初始化,串口调试信息输出
    TIM3_Init(SysClock,2000);
#endif

    //定时器4初始化,用于飞控主循环基准定时
    TIM4_Init(SysClock,1000);				//1ms进入中断,计数器最大值为1000

    MotorPwmFlash(10,10,10,10);			//更新TIM2的CCR值

    altCtrlMode=MANUAL;

	//初始化气压计
	if(I2C_ReadOneByte(FMTISensorAdd_I2C, 0x6B) == 0x42)//软复位 FBM320_SOFTWARE_RESET
	{
		okFbm320 = 1;
		Initial_FMTI_Sensor();  //读取校准系数
	}
    
	printf("who:%d\r\n",I2C_ReadOneByte(FMTISensorAdd_I2C, 0x6B));
  注意开启的中断:
  USART1_IRQn:串口数据发送或接受时,进入
  TIM4_IRQn:1ms进入,用于计数值的累加
  TIM3_IRQn:使能串口打印时,2ms进入,用于串口打印
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值