国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚
電子工程網
標題:
【飛控開發高級教程2】瘋殼·開源編隊無人機-遙控整機代碼走讀、編譯與燒寫
[打印本頁]
作者:
Linda-x
時間:
2022-7-27 17:29
標題:
【飛控開發高級教程2】瘋殼·開源編隊無人機-遙控整機代碼走讀、編譯與燒寫
COCOFLY教程
——瘋殼·無人機·系列
遙控整機代碼走讀、編譯與燒寫
1.png
圖1
一、代碼架構
遙控的整體代碼工程由 7 個工作組組成,分別是 Remoter、show、Driver、STM32_LIB、USB、USB/Lib 以及 Drv_Point,如下圖所示。
2.png
圖2
各個組的具體的代碼功能如下表所示。
表1.png
表1
二、代碼走讀
系統的主函數部分是整個代碼的起始運行位置,在主函數內主要做三個事情:1、初始化外設及參數,2、輪詢線程函數,3、菜單顯示邏輯,其代碼如下圖所示。
3.0.png
3.1.png
3.2.png
圖3
系統的每一個線程函數都已經分配好了運行周期,在不同的線程里執行不同的事情,線程的切換通過簡單的邏輯處理形式切換,而系統的運行時間由 sysTick 提供,即系統的“滴答”時鐘。各個線程的入口如下。
4.png
圖4
分別有 1000ms 周期的函數、50ms 周期的函數、10ms 周期的函數、4ms 周期的函數以及 2ms 周期的函數。
整個遙控器的邏輯處理、數據交換的核心部分均在 Remoter 工作組內,該組內的代碼框架如下圖所示。
5.png
圖5
其中的 DT.c 負責和飛控、上位機等的通信數據處理,即拆解包、封裝包、提取關鍵數據等,如下圖所示為對飛控傳輸過來的數據進行處理。
6.0.png
6.1.png
6.2.png
6.3.png
圖6
其中 Stick.c 為搖桿邏輯處理,主要對搖桿采集到 ADC 值進行分析,判斷需要執行的邏輯。最后的 cocobit.c 是負責和 cocobit 編程板之間的通信。
工作組“show”主要負責了整體的菜單 UI 顯示,這里已經做了封裝處理。
工作組“Driver”負責各個模塊的底層驅動,例如搖桿 ADC 配置、NRF24L01
的 SPI 驅動等。
工作組“USB”以及“USB/Lib”,負責通過 STM32 自帶的 USB,虛擬出串口,方便與上位機進行通信。
保存、編譯最后把代碼燒寫的遙控中,配合飛控就可以正常使用了。如下圖所示 1 為保存、2 為編譯、3 為下載燒寫。
7.png
圖7
文件下載請點擊:
【2】遙控整機代碼走讀、編譯與燒寫.pdf
(696.96 KB)
2022-7-27 17:27 上傳
點擊文件名下載附件
下載積分: 積分 -1
歡迎光臨 電子工程網 (http://www.4huy16.com/)
Powered by Discuz! X3.4