色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 23986|回復(fù): 0
打印 上一主題 下一主題

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-7-27 17:29:16 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 開源 , 編隊 , 無人機 , 遙控 , 整機代碼
COCOFLY教程
——瘋殼·無人機·系列
遙控整機代碼走讀、編譯與燒寫





圖1



一、代碼架構(gòu)
  遙控的整體代碼工程由 7 個工作組組成,分別是 Remoter、show、Driver、STM32_LIB、USB、USB/Lib 以及 Drv_Point,如下圖所示。


圖2

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


表1

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




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


圖4
  分別有 1000ms 周期的函數(shù)、50ms 周期的函數(shù)、10ms 周期的函數(shù)、4ms 周期的函數(shù)以及 2ms 周期的函數(shù)。
  整個遙控器的邏輯處理、數(shù)據(jù)交換的核心部分均在 Remoter 工作組內(nèi),該組內(nèi)的代碼框架如下圖所示。


圖5
  其中的 DT.c 負(fù)責(zé)和飛控、上位機等的通信數(shù)據(jù)處理,即拆解包、封裝包、提取關(guān)鍵數(shù)據(jù)等,如下圖所示為對飛控傳輸過來的數(shù)據(jù)進行處理。





圖6
  其中 Stick.c 為搖桿邏輯處理,主要對搖桿采集到 ADC 值進行分析,判斷需要執(zhí)行的邏輯。最后的 cocobit.c 是負(fù)責(zé)和 cocobit 編程板之間的通信。
  工作組“show”主要負(fù)責(zé)了整體的菜單 UI 顯示,這里已經(jīng)做了封裝處理。
  工作組“Driver”負(fù)責(zé)各個模塊的底層驅(qū)動,例如搖桿 ADC 配置、NRF24L01
的 SPI 驅(qū)動等。
  工作組“USB”以及“USB/Lib”,負(fù)責(zé)通過 STM32 自帶的 USB,虛擬出串口,方便與上位機進行通信。
  保存、編譯最后把代碼燒寫的遙控中,配合飛控就可以正常使用了。如下圖所示 1 為保存、2 為編譯、3 為下載燒寫。


圖7




文件下載請點擊: 【2】遙控整機代碼走讀、編譯與燒寫.pdf (696.96 KB)

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

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表