- #include "sys.h"
- u8 Flag_Way=0,Flag_Show=0,Flag_Stop=1; //停止標志位和 顯示標志位 默認停止 顯示打開
- int Encoder_Left,Encoder_Right; //左右編碼器的脈沖計數
- float Velocity,Velocity_Set,Turn,Angle_Set;
- int Motor_A,Motor_B,Target_A,Target_B; //電機舵機控制相關
- int Voltage; //電池電壓采樣相關的變量
- float Velocity_KP=62,Velocity_KI=62; //速度控制PID參數
- u8 Urxbuf[4],rxbuf[4],Usart_Flag;
- int main(void)
- {
- int ua_Encoder,ub_Encoder;
- Stm32_Clock_Init(9); //=====系統時鐘設置
- delay_init(72); //=====延時初始化
- JTAG_Set(JTAG_SWD_DISABLE); //=====關閉JTAG接口
- LED_Init(); //=====初始化與 LED 連接的硬件接口
- KEY_Init(); //=====按鍵初始化
- OLED_Init(); //=====OLED初始化
- Encoder_Init_TIM2(); //=====編碼器接口
- Encoder_Init_TIM3(); //=====初始化編碼器
- delay_ms(300); //=====延時啟動
- uart_init(72,115200); //=====初始化串口1
- Motor_PWM_Init(7199,0); //=====初始化PWM 10KHZ,用于驅動電機
- Adc_Init(); //=====電池電壓采樣adc初始化
- uart2_init(36,115200); //=====串口3初始化 藍牙
- Timer_Init(49,7199); //=====定時中斷初始化
- while(1)
- {
- if(Flag_Show==0) //使用MiniBalance APP和OLED顯示屏
- {
- oled_show(); //===顯示屏打開
- }
- ua_Encoder=Encoder_Left+500;
- ub_Encoder=Encoder_Right+500;
- usart1_send(0xff);
- usart1_send(0xfe);
- usart1_send(ua_Encoder>>8);
- usart1_send(ua_Encoder&0x00ff);
- usart1_send(ub_Encoder>>8);
- usart1_send(ub_Encoder&0x00ff);
- usart2_send(0xff);
- usart2_send(0xfe);
- usart2_send(ua_Encoder>>8);
- usart2_send(ua_Encoder&0x00ff);
- usart2_send(ub_Encoder>>8);
- usart2_send(ub_Encoder&0x00ff);
- }
- }
復制代碼
代碼下載:
1.標準版兩輪差速小車源碼(ROS專用).7z
(133.51 KB, 下載次數: 23)
2021-10-6 03:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|