日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正点原子minifly学习

發(fā)布時(shí)間:2023/12/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正点原子minifly学习 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對正點(diǎn)原子的開發(fā)板學(xué)習(xí)已經(jīng)好幾個(gè)月了,暫且了解了一點(diǎn)freertos和stm32的一些知識。本著從項(xiàng)目入手的原則,從今天開始,對正點(diǎn)原子小四軸無人機(jī)minifly進(jìn)行學(xué)習(xí)。

** 目錄**

minifly_v1.3學(xué)習(xí)筆記(一)main.c
minifly_v1.3學(xué)習(xí)筆記(二)radiolinkTask
minifly_v1.3學(xué)習(xí)筆記(三)usblink.c
minifly_v1.3學(xué)習(xí)筆記(四) atkp.c

程序框圖

minifly四軸部分由NRF51822和STM32F411兩個(gè)芯片共同控制。NRF51822主要負(fù)責(zé)無線通信和電源管理;STM32F411則負(fù)責(zé)接受、發(fā)送各種數(shù)據(jù),以及數(shù)據(jù)融合從而進(jìn)行pid控制。
程序框架如下:

esb.c 是無線通信驅(qū)動(dòng)代碼;
systick.c 是系統(tǒng)滴答定時(shí)器驅(qū)動(dòng)代碼;
uart.c 是串口驅(qū)動(dòng)代碼;
button.c 是按鍵驅(qū)動(dòng)代碼;
pm.c 是電源管理驅(qū)動(dòng)代碼。
遙控器發(fā)送過來的數(shù)據(jù)包通過radiolink.c 傳送至 main.c,main.c 解析數(shù)據(jù)包,如果不 是發(fā)給 NRF51822 的則通過 uartlink.c 轉(zhuǎn)發(fā)給 STM32F411;當(dāng) STM32F411 接收到一條數(shù)據(jù) 包后會(huì)立即通過uartlink.c返回一條數(shù)據(jù)包到main.c,main.c再通過radiolink.c轉(zhuǎn)發(fā)給遙控器。 就這樣 NRF51822 起到了通信橋梁的作用。


STM32F411主控芯片,使用freertos實(shí)時(shí)操作系統(tǒng),任務(wù)關(guān)系如下:

radiolinkTask:無線通信任務(wù)。該任務(wù)主要負(fù)責(zé)接收從 NRF51822 發(fā)送(串口方式)過 來的數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行打包和校驗(yàn),打包成 ATKP 格式并校驗(yàn)無誤后發(fā)送到 atkpRxAnlTask 的接收隊(duì)列里,同時(shí)回傳一幀數(shù)據(jù)給 NRF51822。
usblinkRxTask:USB 通信接收任務(wù)。該任務(wù)主要負(fù)責(zé)接收上位機(jī)發(fā)下來(USB 虛擬串 口方式)的數(shù)據(jù),然后對數(shù)據(jù)進(jìn)行打包和校驗(yàn),打包成 ATKP 格式并校驗(yàn)無誤后發(fā)送到 atkpRxAnlTask 的接收隊(duì)列里。
atkpRxAnlTask:ATKP 數(shù)據(jù)包接收處理任務(wù)。該任務(wù)主要是處理遙控器和上位機(jī)發(fā)下 來的數(shù)據(jù)包,解析到的控制指令則發(fā)送到 stabilizerTask 中去。
stabilizerTask:四軸平衡控制任務(wù)。該任務(wù)運(yùn)行的內(nèi)容比較多,也是比較關(guān)鍵的內(nèi)容。 包括傳感器數(shù)據(jù)讀取,數(shù)據(jù)融合,獲取控制數(shù)據(jù),空翻檢測,異常檢測,PID 控制,PWM 輸出控制等。
wifilinkTask:手機(jī)控制任務(wù)。該任務(wù)主要是接收 WiFi 攝像頭模塊的串口數(shù)據(jù),然后按 照 WiFi 攝像頭模塊通訊協(xié)議解析成對應(yīng)的控制指令,并將控制指令發(fā)送到 stabilizerTask。
atkpTxTask:ATKP 數(shù)據(jù)包發(fā)送任務(wù)。該任務(wù)主要是獲取 stabilizerTask 中的傳感器數(shù)據(jù)、 姿態(tài)數(shù)據(jù)、電機(jī) PWM 輸出數(shù)據(jù)等數(shù)據(jù)以定周期發(fā)送給 radiolinkTask 和 usblinkTxTask,由這 兩個(gè)任務(wù)分別發(fā)送飛遙控器和上位機(jī)。
usblinkRxTask:USB 通信發(fā)送任務(wù)。該任務(wù)主要負(fù)責(zé)發(fā)送 atkpTxTask 發(fā)送過來的數(shù)據(jù) 包,這些數(shù)據(jù)包主要是傳感器數(shù)據(jù)、姿態(tài)數(shù)據(jù)等。

兩者通過串口進(jìn)行通信。

  • 使用NRF51822電源管理的優(yōu)勢

1.可以讓四軸關(guān)機(jī)時(shí),NRF51822運(yùn)行在待機(jī)模式,STN32處于斷電狀態(tài),功耗極低。
2.可以控制STM32的啟動(dòng)模式

以下是開發(fā)手冊對此的敘述:

四軸在關(guān)機(jī)狀態(tài)時(shí),NRF51822 運(yùn)行在待機(jī)模式,STM32F411 屬于斷電狀態(tài),功耗極低。 當(dāng)按鍵按下時(shí),NRF51822 從待機(jī)模式被喚醒,喚醒后程序先判斷當(dāng)前按下時(shí)間,如果是短 按或沒有按下則啟動(dòng) STM32F411 到固件模式,如果是長按則啟動(dòng) STM32F411 到固件升級 模式。啟動(dòng)方式:NRF51822 拉高 UART_RTS_PIN 引腳,使能電源芯片給 STM32F411 供電, STM32F411 上電后先運(yùn)行 bootloader 程序,程序中判斷 UART_RTS_PIN 引腳為高電平的話 則留在 bootloader 程序等待固件升級,如果不是高電平則跳轉(zhuǎn)至固件。NRF51822 程序運(yùn)行 后,main.c 中以 100ms 周期時(shí)間獲取 pm.c 采集四軸電池的電壓值并轉(zhuǎn)發(fā)給 STM32F411。就 這樣 NRF51822 起到了電源管理的作用。

總結(jié)

以上是生活随笔為你收集整理的正点原子minifly学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。