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

查看: 23970|回復: 0
打印 上一主題 下一主題

【飛控開發高級教程1】瘋殼·開源編隊無人機-飛控整機代碼走讀、編譯與燒寫

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-7-27 11:02:22 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
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 內。里面無非就是對數據包進行拆解包、封裝包等。如下圖所示為對接收到的遙控器數據進行解包分析的代碼。














  三軸數據的獲取處理在 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)

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

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩免费精品一级毛片| 三级在线免费| 午夜a级毛片| 亚洲va久久久久综合| 午夜久久久| 天天爱天天做色综合| 日本αv| 亚洲国产系列久久精品99人人| 欧美成人午夜免费福利785| 亚洲理论| 一级a毛片免费| 色综合久久一本首久久| 色综合久久88色综合天天小说| 欧美日韩欧美| 欧美中日韩在线| 青青草国产精品| 日b视频在线观看| 日本三级精品| 日本福利在线观看| 日本免费一二区| 色综合久久天天综合绕观看 | 欧美精品老牛影视| 欧美一级成人| 亚洲国产精品自产在线播放| 欧美日韩综合精品一区二区三区| 欧美成人极品怡红院tv| 午夜性色一区二区三区不卡视频| 日韩精品麻豆| 欧美午夜在线观看| 青青国产成人精品视频| 亚洲人成网站在线播放942一| 亚洲一区欧美在线| 亚洲毛片在线观看| 日韩欧美亚洲综合一区二区| 一级大片在线观看| 青青操原| 特级淫片波多野结衣| 欧洲精品在线观看| 欧美一区二区三区播放| 日本久久免费| 午夜视频18|