|
倒立擺源碼,共賞。- #include "main.h"
- /**************************************************************************
- 作者:Mini Balance
- **************************************************************************/
- u8 Way_Angle=1; //獲取角度的算法,1:四元數 2:卡爾曼 3:互補濾波
- u8 Flag_Qian,Flag_Hou,Flag_Left,Flag_Right; //藍牙遙控相關的變量
- u8 Flag_Stop=1,Flag_Show=1; //停止標志位和 顯示標志位 默認停止 顯示打開
- int Encoder_Left,Encoder_Right; //左右編碼器的脈沖計數
- int Moto1,Moto2; //電機PWM變量 應是Motor的 向Moto致敬
- int adc; //顯示溫度
- int Voltage; //電池電壓采樣相關的變量
- float Angle_Balance,Gyro_Balance,Gyro_Turn; //平衡傾角 平衡陀螺儀 轉向陀螺儀
- float Show_Data_Mb; //全局顯示變量,用于顯示需要查看的數據
- /**************************************************************************
- 函數功能:主函數 初始化系統和外設
- 作 者:Mini Balance
- **************************************************************************/
- int main(void)
- {
- SystemInit(); //=====系統初始化
- delay_init(72); //=====延時函數
- usart1_init(); //=====串口1初始化 波特率:115200
- uart3_init(72,9600); //=====串口3初始化 波特率:9600
- JTAG_Set(JTAG_SWD_DISABLE); //=====關閉JTAG接口
- JTAG_Set(SWD_ENABLE); //=====打開SWD接口 可以利用主板的SWD接口調試
- led_init(); //=====LED初始化
- KEY_Init(); //=====按鍵初始化
- Adc_Init(); //=====初始化ADC模塊
- MiniBalance_PWM_Init(7199,0); //=====初始化PWM
- OLED_Init(); //=====初始化OLED
- Encoder_Init(); //=====初始化編碼器1
- delay_ms(200); //=====延時等待穩定
- Timer1_Init(49,7199); //=====5MS進一次中斷服務函數 中斷服務函數在minibalance.c里面
- while(1)
- {
- if(1==Flag_Show) oled_show(); //===顯示屏打開
- else DataScope(); //===顯示屏關閉 打開上位機
- }
- }
復制代碼
|
-
-
倒立擺2.3.7z
2019-9-23 15:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
354.95 KB, 下載次數: 10, 下載積分: 黑幣 -5
倒立擺源碼
|