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

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

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

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-9-1 14:11:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
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)

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

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 四虎影院免费 | 四色婷婷婷婷色婷婷开心网 | 两个人的免费视频 | 久久精品六 | 日韩特黄 | 啊~用力cao我cao死我 | 国产日韩欧美在线观看不卡 | 精品国产一区二区三区免费 | 玖玖爱国产| 91成人午夜精品福利院在线观看 | 俺也操| 日韩在线观看一区 | 亚洲精品一二三区-久久 | 久碰香蕉精品视频在线观看 | 欧美日韩中文国产va另类 | 日韩男女视频 | 蝴蝶传媒视频免费观看 | 香焦伊人| 久久久久国产精品免费免费 | 久久黄网站 | 亚洲日韩欧美一区二区在线 | 精品国产一区在线观看 | 91精品国产自产在线观看 | 大香樵伊在线 | 欧美日韩成人午夜免费 | 国产精品真实对白精彩久久 | 91系列在线观看 | 色婷婷综合久久久久中文一区二区 | 国产精品天天看特色大片不卡 | 日韩欧美二区在线观看 | 国产精品资源 | 四虎永久在线精品网址 | 江疏影腿抬高点我要进去小说 | 欧美日韩成人在线视频 | 九九热视频精品在线 | 日本一区二区三区久久久久 | 国产午夜亚洲精品一级在线 | 日本欧美在线播放 | 国产日韩亚洲欧洲一区二区三区 | 国产亚洲精品俞拍视频 | 看片不卡 |