久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4402|回復: 2
打印 上一主題 下一主題
收起左側

標準版麥輪小車STM32源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:397617 發表于 2019-1-11 08:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. #include "sys.h"
  2. u8 Flag_Left,Flag_Right,Flag_Direction=0;   //藍牙遙控相關的變量
  3. u8 Flag_Stop=1,Flag_Show=0;                 //停止標志位和 顯示標志位 默認停止 顯示打開
  4. int Encoder_A,Encoder_B,Encoder_C,Encoder_D;          //編碼器的脈沖計數
  5. long int Position_A,Position_B,Position_C,Position_D,Rate_A,Rate_B,Rate_C,Rate_D; //PID控制相關變量
  6. int Encoder_A_EXTI;                       //通過外部中斷讀取的編碼器數據                       
  7. long int Motor_A,Motor_B,Motor_C,Motor_D;        //電機PWM變量
  8. long int Target_A,Target_B,Target_C,Target_D;     //電機目標值
  9. int Voltage;                             //電池電壓采樣相關的變量
  10. float Show_Data_Mb;                      //全局顯示變量,用于顯示需要查看的數據                        
  11. u8 delay_50,delay_flag;                          //延時相關變量
  12. u8 Run_Flag=0;                                                                                                  //藍牙遙控相關變量和運行狀態標志位
  13. u8 rxbuf[8],Urxbuf[8],CAN_ON_Flag=0,Usart_ON_Flag=0,Usart_Flag,PID_Send,Flash_Send;  //CAN和串口控制相關變量
  14. u8 txbuf[8],txbuf2[8],Turn_Flag;             //CAN發送相關變量
  15. float Pitch,Roll,Yaw,Move_X,Move_Y,Move_Z;   //三軸角度和XYZ軸目標速度
  16. u16 PID_Parameter[10],Flash_Parameter[10];  //Flash相關數組
  17. float        Position_KP=40,Position_KI=0,Position_KD=40;  //位置控制PID參數
  18. float Velocity_KP=10,Velocity_KI=10;                  //速度控制PID參數
  19. int RC_Velocity=30,RC_Position=3000;         //設置遙控的速度和位置值
  20. int main(void)
  21. {
  22.         Stm32_Clock_Init(9);            //=====系統時鐘設置
  23.         delay_init(72);                 //=====延時初始化
  24.         JTAG_Set(JTAG_SWD_DISABLE);     //=====關閉JTAG接口
  25.         JTAG_Set(SWD_ENABLE);           //=====打開SWD接口 可以利用主板的SWD接口調試
  26.         LED_Init();                     //=====初始化與 LED 連接的硬件接口
  27.         KEY_Init();                     //=====按鍵初始化
  28.         if(MODE==0)Run_Flag=1;          //=====啟動的過程中,根據模式選擇開關確定進入位置模式還是速度模式
  29.         else Run_Flag=0;                //=====啟動的過程中,根據模式選擇開關確定進入位置模式還是速度模式
  30.         OLED_Init();                    //=====OLED初始化
  31.         uart_init(72,128000);           //=====串口1初始化
  32.         uart2_init(36,9600);            //=====串口2初始化
  33.   uart3_init(36,115200);          //=====串口3初始化
  34.         Encoder_Init_TIM2();            //=====編碼器接口
  35.         Encoder_Init_TIM3();            //=====編碼器接口
  36.         Encoder_Init_TIM4();            //=====初始化編碼器C
  37.         Encoder_Init_TIM5();            //=====初始化編碼器D
  38.         Adc_Init();                     //=====adc初始化
  39.         IIC_Init();                     //=====IIC初始化
  40.   MPU6050_initialize();           //=====MPU6050初始化       
  41.   DMP_Init();                     //=====初始化DMP     
  42.         MiniBalance_PWM_Init(7199,0);   //=====初始化PWM 10KHZ,用于驅動電機
  43.         if(KEY==0) Flash_Read();        //=====讀取Flash里面的參數
  44.   EXTI_Init();                    //=====MPU6050 5ms定時中斷初始化
  45.   CAN1_Mode_Init(1,2,3,6,0);      //=====CAN初始化
  46.        
  47.         while(1)
  48.                 {               
  49.                   if(Flash_Send==1)          //寫入PID參數到Flash,由app控制該指令
  50.                         {
  51.                                 Flash_Write();       
  52.                                 Flash_Send=0;       
  53.                         }       
  54.             if(Flag_Show==0)           //使用MiniBalance APP和OLED顯示屏
  55.                         {
  56.                                 APP_Show();                      
  57.                                 oled_show();             //===顯示屏打開
  58.             }
  59.             else                       //使用MiniBalance上位機 上位機使用的時候需要嚴格的時序,故此時關閉app監控部分和OLED顯示屏
  60.                   {
  61.                                 DataScope();             //開啟MiniBalance上位機
  62.                         }
  63.               CAN1_SEND();             //CAN發送                       
  64.                         delay_flag=1;       
  65.                         delay_50=0;
  66.                         while(delay_flag);               //通過MPU6050的INT中斷實現的50ms精準延時                               
  67.                 }
  68. }
復制代碼

所有資料51hei提供下載:
1.標準版麥輪小車源碼.7z (173.45 KB, 下載次數: 83)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-1-11 14:50 | 只看該作者
補全原理圖或者詳細說明一下電路連接即可獲得100+黑幣
回復

使用道具 舉報

板凳
ID:621885 發表于 2020-6-28 22:10 | 只看該作者
為社么打不開了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线精品视频 | 成人婷婷| 涩涩视频在线观看 | 欧美日一区 | 国产亚洲精品美女久久久久久久久久 | 波多野吉衣在线播放 | 日日噜噜噜夜夜爽爽狠狠视频, | 91精品国产欧美一区二区 | 成人国产精品视频 | 日日干天天干 | 亚洲免费在线 | 一区二区三区国产精品 | 日韩美女在线看免费观看 | 国产精品亚洲第一区在线暖暖韩国 | 日韩欧美二区 | 三级黄视频在线观看 | 亚洲欧美一区二区三区在线 | 99re视频在线免费观看 | 国产一级毛片视频 | 亚洲激情在线观看 | av天天爽 | 五月综合激情婷婷 | 国产精品成人av | 亚洲国产精品99久久久久久久久 | 国产精品免费高清 | 成人免费大片黄在线播放 | 国产亚洲一区在线 | 91久久久久 | 成人午夜在线观看 | 99re视频这里只有精品 | 午夜视频在线免费观看 | 美女爽到呻吟久久久久 | 九九热精品视频 | 精品久久久久久一区二区 | 国产视频欧美 | 亚洲字幕在线观看 | 久久久久国产精品一区二区 | 国产美女网站 | 久久99精品久久久久久国产越南 | 日韩精品成人在线 | 国产激情视频网站 |