久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

專欄中心

EEPW首頁 > 專欄 > 瘋殼AI開源無人機遙控整機代碼走讀、編譯與燒寫

瘋殼AI開源無人機遙控整機代碼走讀、編譯與燒寫

發布人:fengkelisa 時間:2020-04-27 來源:工程師 發布文章
一、代碼架構

遙控的整體代碼工程由7個工作組組成,分別是RemotershowDriverSTM32_LIBUSBUSB/Lib以及Drv_Point,如下圖所示。

image.png 

 

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

功能

Remoter

包含遙控器數據數據、搖桿按鍵處理等。

show

負責遙控器整體的顯示菜單UI等代碼實現

Driver

各個模塊的底層驅動

STM32_LIB

STM32標準庫

USB

USB相關

USB/Lib

USB

Drv_Point

系統關鍵庫

 

二、代碼走讀

系統的主函數部分是整個代碼的起始運行位置,在主函數內主要做三個事情:1、初始化外設及參數,2、輪詢線程函數,3、菜單顯示邏輯,其代碼如下圖所示。

image.png 

image.pngimage.png 

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

 

image.png 

分別有1000ms周期的函數、50ms周期的函數、10ms周期的函數、4ms周期的函數以及2ms周期的函數。

整個遙控器的邏輯處理、數據交換的核心部分均在Remoter工作組內,該組內的代碼框架如下圖所示。

image.png 

其中的DT.c負責和飛控、上位機等的通信數據處理,即拆解包、封裝包、提取關鍵數據等,如下圖所示為對飛控傳輸過來的數據進行處理。

image.png 

image.png 

image.pngimage.png 

其中Stick.c為搖桿邏輯處理,主要對搖桿采集到ADC值進行分析,判斷需要執行的邏輯。最后的cocobit.c是負責和cocobit編程板之間的通信。

工作組show”主要負責了整體的菜單UI顯示,這里已經做了封裝處理。

工作組Driver”負責各個模塊的底層驅動,例如搖桿ADC配置、NRF24L01SPI驅動等。

工作組USB”以及“USB/Lib”,負責通過STM32自帶的USB,虛擬出串口,方便與上位機進行通信。

保存、編譯最后把代碼燒寫的遙控中,配合飛控就可以正常使用了。如下圖所示1為保存、2為編譯、3為下載燒寫。

image.png 


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

關鍵詞:

相關推薦

連接性十字路口:對V2X存儲的需求飆升

一起來認識電池封裝架構的挑戰

Applilet軟件安裝演示視頻

視頻 2012-07-04

C編譯器軟件安裝演示視頻

視頻 2012-07-04

設備文件(Device file)安裝演示視頻

視頻 2012-07-04

RIGOL高速伺服激光加工系統MIPI D-PHY一致性測試

深入分析信號鏈設計,助你了解CTSD技術的關鍵優勢

模擬技術 2025-03-25

一些活動

hpnet 2002-10-08

從汽車 BCM 方案看國產 MCU 芯片的突圍與挑戰

匯編器與PM+軟件安裝演示

視頻 2012-07-04

Cybertruck遭召回,特斯拉優勢不再

英特爾和臺積電如同柴油跟汽油,“不能混在一起燒”?

加快電動汽車無線充電的廣泛采用

可折疊iPhone最快明年上市

2025-03-25

SM+軟件安裝演示視頻

視頻 2012-07-04

雙核鎖步技術在汽車芯片軟錯誤防護中的應用詳解

更多 培訓課堂
更多 焦點
更多 視頻

技術專區