国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 【開源教程23】瘋殼·開源編隊無人機-飛控整機代碼走讀、編譯與燒寫 [打印本頁]

作者: Linda-x    時間: 2022-9-1 14:11
標題: 【開源教程23】瘋殼·開源編隊無人機-飛控整機代碼走讀、編譯與燒寫
COCOFLY教程
——瘋殼·無人機系列
飛控整機代碼走讀、編譯與燒寫





圖1


一、代碼架構
  飛控的整體代碼工程由 8 個工作組組成,分別是 Ctrl、Driver、VL53L1X、STM32_LIB、USB、USB/Lib、StartUP 以及 Drv_Point,如下圖所示。


圖2
  各個組的具體的代碼功能如下表所示。


表1

二、代碼走讀

  系統的主函數部分是整個代碼的起始運行位置,在主函數內主要做兩個事情:1、初始化外設及參數,2、輪詢線程。


圖3
  系統的每一個線程都已經分配好了運行周期,在不同的線程里執行不同的事情,線程的切換通過函數指針的形式切換,而系統的運行時間由 sysTick 提供即系統的“滴答”時鐘。各個線程的入口如下。


圖4
  分別有 1000ms 周期的任務、50ms 周期的任務、20ms 周期的任務、10ms 周期的任務、6ms 周期的任務、4ms 周期的任務、3ms 周期的任務以及 2ms 周期的任務。
  整個飛控可以平穩飛行,重點在于控制部分,即工作組“Ctrl”里面的代碼。如下圖所示為“Ctrl”組的代碼框架。


圖5
  其中與遙控器、上位機的數據通信處理包含在 Data_Transfers.c 內。里面無非就是對數據包進行拆解包、封裝包等。如下圖所示為對接收到的遙控器數據進行解包分析的代碼。


圖6


圖7


圖8



圖9


圖10


圖11


圖12


圖13



圖14
  三軸數據的獲取處理在 mpu_perpare.c 內,如下圖所示。




圖15
  PID 控制相關代碼集中在 Ctrl.c 及 Alt_Ctrl.c 內,其中 Ctrl.c 負責角度環、角速度環 PID 控制,而 Alt_Ctrl.c 則負責高度環、高度速度環的 PID 控制。
  IMU.c 和 MotionCal.c 是保證整個飛控平穩飛行的重要一環,這兩個 c 文件主要負責飛控的姿態解算、數據融合處理等。


  工作組“USB”以及“USB/Lib”,負責通過 STM32 自帶的 USB,虛擬出串口,方便與上位機進行通信。
  此外為了保護開發者的勞動成果,Player_Flight.lib 還封裝了秘鑰驗證激活算法、多機編隊控制、水平方向的速度和位置環的 PID 控制以及 3D 翻滾控制代碼。
  保存、編譯最后把代碼燒寫的飛控主板中,配合遙控器就可以正常使用了。如下圖所示 1 為保存、2 為編譯、3 為下載燒寫。


圖16



如需定制開發,請通過官網“瘋殼”網頁底部的“聯系我們”進行聯系

文件下載請點擊: 【1】飛控整機代碼走讀、編譯與燒寫.pdf (1.17 MB)






歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 色花堂你懂的国产第一页 | 99麻豆视频 | 免费看91视频 | 97国产成人精品免费视频 | www.欧美精品| 亚州综合 | 久操久热 | 狠狠色狠狠色综合日日小蛇 | 亚欧成人中文字幕一区 | 高清乱码精品福利在线视频 | 欧美自拍区 | 四虎精品成人免费影视 | 免费一级a毛片夜夜看 | 果冻传媒第一二专区天美传媒 | 欧美黑粗大 | 国产欧美日韩精品一区二区三区 | 国产成人一区免费观看 | 一个色综合高清在线观看 | 亚洲免费在线视频播放 | 我不卡影院在线观看 | 香蕉草莓丝瓜茄子番茄绿巨人 | 日本又黄又裸一级大黄裸片 | 欧美精品中文 | 日韩专区欧美 | 青青青免费高清视频在线 | 亚洲天堂日本 | 中文字幕免费在线播放 | 特级深夜a级毛片免费观看 特级全黄一级毛片视频 | 国产一区二区免费福利片 | 亚洲欧美另类在线视频 | 99热热久久这里只有精品166 | 日本高清免费一本视频在线观看 | 在线亚洲日产一区二区 | 羞羞视频在线看 | 久久免费福利 | 成人午夜兔费观看网站 | 99久久精品无码一区二区毛片 | 理论片免费欧美片 | 黄页网址在线观看 | 国产精品久久久久久久久免费观看 | 国产精品午夜国产小视频 |