|
- #include "sys.h"
- u8 Flag_Way=0,Flag_Show=0,Flag_Stop=1; //停止標(biāo)志位和 顯示標(biāo)志位 默認(rèn)停止 顯示打開
- int Encoder_Left,Encoder_Right; //左右編碼器的脈沖計(jì)數(shù)
- float Velocity,Velocity_Set,Turn,Angle_Set;
- int Motor_A,Motor_B,Target_A,Target_B; //電機(jī)舵機(jī)控制相關(guān)
- int Voltage; //電池電壓采樣相關(guān)的變量
- float Velocity_KP=62,Velocity_KI=62; //速度控制PID參數(shù)
- u8 Urxbuf[4],rxbuf[4],Usart_Flag;
- int main(void)
- {
- int ua_Encoder,ub_Encoder;
- Stm32_Clock_Init(9); //=====系統(tǒng)時(shí)鐘設(shè)置
- delay_init(72); //=====延時(shí)初始化
- JTAG_Set(JTAG_SWD_DISABLE); //=====關(guān)閉JTAG接口
- LED_Init(); //=====初始化與 LED 連接的硬件接口
- KEY_Init(); //=====按鍵初始化
- OLED_Init(); //=====OLED初始化
- Encoder_Init_TIM2(); //=====編碼器接口
- Encoder_Init_TIM3(); //=====初始化編碼器
- delay_ms(300); //=====延時(shí)啟動(dòng)
- uart_init(72,115200); //=====初始化串口1
- Motor_PWM_Init(7199,0); //=====初始化PWM 10KHZ,用于驅(qū)動(dòng)電機(jī)
- Adc_Init(); //=====電池電壓采樣adc初始化
- uart2_init(36,115200); //=====串口3初始化 藍(lán)牙
- Timer_Init(49,7199); //=====定時(shí)中斷初始化
- 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);
- }
- }
復(fù)制代碼
代碼下載:
1.標(biāo)準(zhǔn)版兩輪差速小車源碼(ROS專用).7z
(133.51 KB, 下載次數(shù): 23)
2021-10-6 03:02 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|