從收到機(jī)智云的第一批試用板子到現(xiàn)在也挺久了,一直沒時間和大家分享,今天抽空寫下我的感受,機(jī)智云Gokit3.X是2016年6月25日發(fā)布的新產(chǎn)品,模型與Gokit2基本相同,采用底板+功能板+模組的方式,保留Arduino接口,可擴(kuò)展性不錯,具備以下功能:
獨(dú)創(chuàng)的雙排模組接口,兼容MCU和SoC兩種連接方式。
1路USB轉(zhuǎn)TTL調(diào)試串口。可用于SoC方式開發(fā)的日志輸出。
兼容Arduino接口。
GoKit經(jīng)典傳感器組合,溫濕度、紅外感應(yīng)、雙向電機(jī)、RGB燈。
3個key。
增加2路MIC,1路Speaker。
豐富的擴(kuò)展接口,如OLED等。
有3種配置:
GoKit3(V) - 語音模組版 (GoKit3功能板+底板+宇音天下模組)
GoKit3(S) - SoC版(樂鑫模組(GoKit3轉(zhuǎn)接板)+底板+GoKit3功能板)
GoKit3(H) - 高性能模組版
我拿到的是帶宇音天下模組Lark7618的語音識別版本,機(jī)智云還送了ESP8266的模塊,贊一個!試用了下效果還不錯,一些基本的開源項目論壇已經(jīng)很多了,我就不多說了,我著重分享下STM32端整個程序的流程,機(jī)智云傳輸這么穩(wěn)定得益于它整個框架的完整性,包括協(xié)議的制定以及解碼部分的機(jī)制,是一個比較好的框架,下面重點(diǎn)分析:
首先我們來看主函數(shù),開始先將系統(tǒng)初始化,主要包括Flash接口和時鐘的配置,這里初始化為72MHz,之后是用戶數(shù)據(jù)部分初始化
主要包括系統(tǒng)延時、串口、RGB燈、LED燈、電機(jī)、溫濕度、紅外對管等的初始化,之后開啟看門狗,復(fù)位時間2s,然后就是按鍵的配置了,按鍵部分程序也不錯,值得我們借鑒,我們找到按鍵定義的地方,
然后追蹤定義,我們go to definition,查看singleKey數(shù)組的定義結(jié)構(gòu)體,定義如下
主要有按鍵Num,GPIO端口,以及長按短按的回調(diào)函數(shù)。之后看到將數(shù)組地址與按鍵數(shù)值組合成keysTypedef_t這樣一個結(jié)構(gòu)體,方便調(diào)用結(jié)構(gòu)體各個參數(shù),明白了按鍵的定義,我們接著看按鍵的初始化
將每個按鍵的物理GPIO以及長短按回調(diào)函數(shù)都賦值到相應(yīng)數(shù)組,這里一共初始化了2個按鍵,之后將數(shù)組地址傳到keys這個結(jié)構(gòu)體變量,初始化之后就可以通過keys來調(diào)用按鍵的所有功能了。按鍵的具體控制原理后面會將。接下來是機(jī)智云協(xié)議的初始化,之后打印一串初始化成功的數(shù)據(jù)。
那么gizwitsInit();初始化了什么東西呢,我們進(jìn)去看看
這里就是初始化定時器和串口了,定時器初始化了定時器3,時鐘9分頻,自動重裝載值7199,算下來1ms中斷一次,我們追蹤到定時器中斷
看到這個定時器的作用是提供一個時基, gizwitsProtocol.timerMsCount每秒加1。然后串口這里初始化了串口2,主要用來通訊,之后就是串口環(huán)形buff的一些初始化,下節(jié)介紹。
之后就進(jìn)入主循環(huán)了,喂狗,用戶數(shù)據(jù)的處理以及整個協(xié)議的運(yùn)轉(zhuǎn)一直循環(huán)。
這個圖是用Xmind做的,詳細(xì)分析了整個程序的框架,當(dāng)然,精髓不在這里,關(guān)于按鍵和串口環(huán)形buffer的數(shù)據(jù)處理方式,我們下節(jié)再探討。
-
語音識別
+關(guān)注
關(guān)注
39文章
1782瀏覽量
114246 -
源代碼
+關(guān)注
關(guān)注
96文章
2953瀏覽量
68392 -
Gokit
+關(guān)注
關(guān)注
2文章
12瀏覽量
12771
原文標(biāo)題:Gokit3.0 STM32源代碼分析之一
文章出處:【微信號:IoTMaker,微信公眾號:機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
GC211+Gokit3接入機(jī)智云實現(xiàn)4G開發(fā)調(diào)試的過程
機(jī)智云GoKit開發(fā)套件固件
【GoKit試用體驗】+機(jī)智云GoKit開發(fā)套件學(xué)習(xí)分享1之開箱圖
【GoKit試用體驗】GoKit體驗之旅
【試用活動】Gokit 2.X、Gokit 3.X 免費(fèi)申請試用
【試用活動】Gokit 2.X、Gokit 3.X 免費(fèi)申請試用
【Gokit 3試用體驗】(8)微信控制Gokit體驗之機(jī)智云寵物屋
機(jī)智云第一網(wǎng)紅手把手教你使用代碼自動生成神器
如何使用機(jī)智云開發(fā)一款智能硬件產(chǎn)品
機(jī)智云在Amazon Alexa平臺發(fā)布Smarthome和Custom Skill,實現(xiàn)亞馬遜Echo直接控制Gokit
機(jī)友分享 | 基于Gokit+機(jī)智云的低成本MCU紅外遙控器
4G模組接入機(jī)智云gokit3開發(fā)板
通過機(jī)智云GoKit3開發(fā)套件實現(xiàn)手機(jī)APP的遠(yuǎn)程控制
【機(jī)智云Gokit3測評】Gokit3硬件電路學(xué)習(xí)

評論