笑死,第三篇了都,好久都沒有寫這么多了,第三篇是我最近看的一個STC官網(wǎng)的小項目,一個無人機的項目,感覺代碼寫的很好,這里簡單的分析一下。
即沒有GPS信號或GPS信號不佳的環(huán)境,飛控系統(tǒng)僅保持無人機姿態(tài)的平穩(wěn),無人機無法精準(zhǔn)定位而呈現(xiàn)明顯飄移。
通過一定的操縱,使飛機姿態(tài)運動符合飛行員意愿的可控飛行。
百度百科
差不多就是這樣
電機的順序
電源是單片機和電調(diào)
這就是連上了
這個是接收機的輸入和電調(diào)的PWM輸出
IMU
這個是電調(diào)控制輸出
PPM捕獲
航燈
單獨一個腳
還有蜂鳴器
預(yù)留了一路串口
完整Github上面見
組裝樣子
這些功能在源碼里面都有
實現(xiàn)的源碼其實很少,就是幾個文件而已,這里就不用keli了,太丑了
大概主文件里面的函數(shù)就是這些了
一般來說讀源碼的時候就是兩個路子,一個是一步一步的跳轉(zhuǎn),還有就是看完驅(qū)動再跑主的。
我以前是第一種,但是感覺效率有點低,這里看的方法就是先驅(qū)動吧。
我們說51的時候都是在說著老土,過氣什么的,但是你玩的精通又有幾個,其次在STC里面也有了庫的概念,這里就帶你看一下。
這個就是所謂的庫文件
SFR定義一些位置
這謝是老版的51沒有的,后面加的
因為本身這個東西都沒有很難,所以在封裝庫的時候也就是使用了宏定義了。名字是很好的,做到了見名字其意。
帶著注釋很好的
IO的使能
還記得經(jīng)典的定時器不?
快來補課呀!
不管怎么說,庫開發(fā)是深入人心的,封裝只是行為而已,我很很欣賞STC的精神的。
就直面自己物美價廉這個事情
離譜
反正友商是學(xué)不來
PWMGO是PWM初始化
這個是配置的文件
延時函數(shù)內(nèi)部使用的是時鐘頻率
這個是STC定義的數(shù)據(jù)類型
PWM的輸出都是強推挽模式
數(shù)據(jù)指針
PWM時鐘選擇
PWM的分頻器
這個是數(shù)據(jù)手冊
先配置寄存器,然后就是中斷寄存位,異常檢測,控制寄存器也打開
軟件置0
這個是對單獨的通道設(shè)置
安排
ADC是測量電壓來的
初始化
中斷標(biāo)志
這個就是計算值
最重要的MPU6050傳感器
里面的一些寄存器的位置
初始化MPU6050
里面的延時信號
這個是IIC的數(shù)據(jù)定義引腳
IIC的寫入
一對兒信號
接收和回應(yīng)
發(fā)送和接收
很簡單了
這個就是起始信號了
下篇是主函數(shù)了。
http://www.stcmcudata.com/
-
無人機
+關(guān)注
關(guān)注
230文章
10692瀏覽量
185297 -
GPS信號
+關(guān)注
關(guān)注
0文章
25瀏覽量
9550 -
飛控系統(tǒng)
+關(guān)注
關(guān)注
20文章
55瀏覽量
26206
發(fā)布評論請先 登錄
普及無人機知識
無人機飛手緊缺 看無人機行業(yè)發(fā)展趨勢如何?
無人機培訓(xùn)
無人機遙控方向控制問題
無人機中的MCU是如何工作的?
無人機類型之植保無人機,帶你了解什么是植保無人機?
什么是無人機圖傳系統(tǒng)?
STC8A的設(shè)備驅(qū)動軟件函數(shù)庫
無人機云臺是什么
解讀無人機的驅(qū)動
【瘋殼·無人機教程2】開源編隊無人機-硬件資源簡介
STC8A/8F系列單片機技術(shù)參考手冊

STC8A及STC8F系列微控制器英文資料

逐飛STC8H/STC8G/STC8A智能車開源庫

評論