笑死,第三篇了都,好久都沒(méi)有寫(xiě)這么多了,第三篇是我最近看的一個(gè)STC官網(wǎng)的小項(xiàng)目,一個(gè)無(wú)人機(jī)的項(xiàng)目,感覺(jué)代碼寫(xiě)的很好,這里簡(jiǎn)單的分析一下。

即沒(méi)有GPS信號(hào)或GPS信號(hào)不佳的環(huán)境,飛控系統(tǒng)僅保持無(wú)人機(jī)姿態(tài)的平穩(wěn),無(wú)人機(jī)無(wú)法精準(zhǔn)定位而呈現(xiàn)明顯飄移。
通過(guò)一定的操縱,使飛機(jī)姿態(tài)運(yùn)動(dòng)符合飛行員意愿的可控飛行。
百度百科

差不多就是這樣

電機(jī)的順序

電源是單片機(jī)和電調(diào)

這就是連上了



這個(gè)是接收機(jī)的輸入和電調(diào)的PWM輸出

IMU

這個(gè)是電調(diào)控制輸出

PPM捕獲

航燈

單獨(dú)一個(gè)腳

還有蜂鳴器


預(yù)留了一路串口

完整Github上面見(jiàn)

組裝樣子

這些功能在源碼里面都有

實(shí)現(xiàn)的源碼其實(shí)很少,就是幾個(gè)文件而已,這里就不用keli了,太丑了


大概主文件里面的函數(shù)就是這些了
一般來(lái)說(shuō)讀源碼的時(shí)候就是兩個(gè)路子,一個(gè)是一步一步的跳轉(zhuǎn),還有就是看完驅(qū)動(dòng)再跑主的。
我以前是第一種,但是感覺(jué)效率有點(diǎn)低,這里看的方法就是先驅(qū)動(dòng)吧。
我們說(shuō)51的時(shí)候都是在說(shuō)著老土,過(guò)氣什么的,但是你玩的精通又有幾個(gè),其次在STC里面也有了庫(kù)的概念,這里就帶你看一下。

這個(gè)就是所謂的庫(kù)文件

SFR定義一些位置

這謝是老版的51沒(méi)有的,后面加的

因?yàn)楸旧磉@個(gè)東西都沒(méi)有很難,所以在封裝庫(kù)的時(shí)候也就是使用了宏定義了。名字是很好的,做到了見(jiàn)名字其意。

帶著注釋很好的

IO的使能

還記得經(jīng)典的定時(shí)器不?
快來(lái)補(bǔ)課呀!
不管怎么說(shuō),庫(kù)開(kāi)發(fā)是深入人心的,封裝只是行為而已,我很很欣賞STC的精神的。

就直面自己物美價(jià)廉這個(gè)事情


離譜

反正友商是學(xué)不來(lái)

PWMGO是PWM初始化

這個(gè)是配置的文件

延時(shí)函數(shù)內(nèi)部使用的是時(shí)鐘頻率

這個(gè)是STC定義的數(shù)據(jù)類(lèi)型

PWM的輸出都是強(qiáng)推挽模式

數(shù)據(jù)指針

PWM時(shí)鐘選擇

PWM的分頻器

這個(gè)是數(shù)據(jù)手冊(cè)

先配置寄存器,然后就是中斷寄存位,異常檢測(cè),控制寄存器也打開(kāi)

軟件置0

這個(gè)是對(duì)單獨(dú)的通道設(shè)置

安排

ADC是測(cè)量電壓來(lái)的

初始化

中斷標(biāo)志

這個(gè)就是計(jì)算值

最重要的MPU6050傳感器


里面的一些寄存器的位置

初始化MPU6050

里面的延時(shí)信號(hào)

這個(gè)是IIC的數(shù)據(jù)定義引腳

IIC的寫(xiě)入


一對(duì)兒信號(hào)


接收和回應(yīng)


發(fā)送和接收

很簡(jiǎn)單了

這個(gè)就是起始信號(hào)了
下篇是主函數(shù)了。
http://www.stcmcudata.com/
-
無(wú)人機(jī)
+關(guān)注
關(guān)注
237文章
11364瀏覽量
196580 -
GPS信號(hào)
+關(guān)注
關(guān)注
0文章
25瀏覽量
9797 -
飛控系統(tǒng)
+關(guān)注
關(guān)注
20文章
57瀏覽量
27058
發(fā)布評(píng)論請(qǐng)先 登錄
普及無(wú)人機(jī)知識(shí)
無(wú)人機(jī)飛手緊缺 看無(wú)人機(jī)行業(yè)發(fā)展趨勢(shì)如何?
無(wú)人機(jī)培訓(xùn)
無(wú)人機(jī)遙控方向控制問(wèn)題
無(wú)人機(jī)中的MCU是如何工作的?
無(wú)人機(jī)類(lèi)型之植保無(wú)人機(jī),帶你了解什么是植保無(wú)人機(jī)?
什么是無(wú)人機(jī)圖傳系統(tǒng)?
STC8A的設(shè)備驅(qū)動(dòng)軟件函數(shù)庫(kù)
無(wú)人機(jī)云臺(tái)是什么
解讀無(wú)人機(jī)的驅(qū)動(dòng)
【瘋殼·無(wú)人機(jī)教程2】開(kāi)源編隊(duì)無(wú)人機(jī)-硬件資源簡(jiǎn)介
STC8A/8F系列單片機(jī)技術(shù)參考手冊(cè)
STC8A及STC8F系列微控制器英文資料
逐飛STC8H/STC8G/STC8A智能車(chē)開(kāi)源庫(kù)
STC8A無(wú)人機(jī)-驅(qū)動(dòng)篇
評(píng)論