|
這是我移植平衡小車之家的程序,主要是處理MPU6050的數(shù)據(jù)校準(zhǔn)
單片機(jī)源程序如下:
- #include "sys.h"
- /**************************************************************************
- 作者:平衡小車之家
- **************************************************************************/
- int Encoder_Left,Encoder_Right; //左右編碼器的脈沖計(jì)數(shù)
- int Moto1,Moto2; //電機(jī)PWM變量 應(yīng)是Motor的 向Moto致敬
- float Angle_Balance,Gyro_Balance; //平衡傾角 平衡陀螺儀 轉(zhuǎn)向陀螺儀
- int main(void)
- {
- Stm32_Clock_Init(9); //=====系統(tǒng)時(shí)鐘設(shè)置
- delay_init(72); //=====延時(shí)初始化
- JTAG_Set(JTAG_SWD_DISABLE); //=====關(guān)閉JTAG接口
- JTAG_Set(SWD_ENABLE); //=====打開SWD接口 可以利用主板的SWD接口調(diào)試
- LED_Init(); //=====初始化與 LED 連接的硬件接口
- OLED_Init(); //=====OLED初始化
- uart_init(72,128000); //=====初始化串口1
- MiniBalance_PWM_Init(7199,0); //=====初始化PWM 10KHZ,用于驅(qū)動(dòng)電機(jī) 如需初始化電調(diào)接口 改為MiniBalance_PWM_Init(9999,35) 200HZ
- Encoder_Init_TIM2(); //=====編碼器接口
- Encoder_Init_TIM4(); //=====初始化編碼器2
- IIC_Init(); //=====模擬IIC初始化
- MPU6050_initialize(); //=====MPU6050初始化
- DMP_Init(); //=====初始化DMP
- EXTI_Init(); //=====MPU6050 5ms定時(shí)中斷初始化
- while(1)
- {
- oled_show(); //===顯示屏打開
- printf("平衡 傾角 %f \r\n左輪編碼器%d \r\n右輪編碼器%d \r\n",Angle_Balance,Encoder_Left,Encoder_Right);//向串口調(diào)試助手發(fā)送數(shù)據(jù)
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
MiniBalanceV3.5【大功率版】平衡小車源碼(精簡(jiǎn)入門版).rar
(213.28 KB, 下載次數(shù): 156)
2017-9-11 00:13 上傳
點(diǎn)擊文件名下載附件
STM32
|
評(píng)分
-
查看全部評(píng)分
|