正點原子Minifly遙控器V1.1—程式碼分析:radiolink.c、usblink.c、atpk.c三個檔案之間的關係
先看radiolink.c函式和佇列之間的資料流向:
radiolinkTask:主要功能是傳送 ATKP 資料包給四軸, 並接收四軸返回的應答包。
實現過程:在radiolink.c定義兩個訊息佇列,每個訊息就是一個ATKP包,實際就是atkp_t結構體,分別為txQueue佇列和rxQueue佇列,
傳送和接收都是針對四軸來說
**txQueue佇列:**存放要傳送給四軸的資訊,也就是如果想通過遙控器把資料傳送給四軸,只需通過radiolinkSendPacket函式,將ATKP包傳送到這個佇列。比如usblinkDataProcessTask函式中呼叫radiolinkSendPacket(&p),將上位機發過來的 ATKP 資料包傳送到這個txQueue佇列,再由radiolinkTask任務傳送給四軸
rxQueue佇列:存放從四軸發來資訊,也就是四軸返回的應答包,這個包經過radiolinkDataProcessTask呼叫radiolinkReceivePacketBlocking(&p)獲取包, 通過atkpAnalyze(&p)處理包,處理完之後再通過usblink 鏈路轉發給上位機。
相關文章
- MiniFly Firmware V1.1開源四軸程式碼分析二:atpk.c
- Linux Shell檔案之間的包含關係Linux
- Activity、View、Window之間關係的分析View
- listener.ora檔案與tnsnames.ora之間的關係
- FAILGROUP和REDUNDANCY之間的關係關係!AI
- 類之間的關係
- 正確理解 AsyncTask,Looper,Handler三者之間的關係(基於android 4.0)OOPAndroid
- Maven專案之間關係介紹Maven
- 51微控制器學習筆記:紅外接收(對原子哥的ALIENTEK遙控器進行解碼)筆記
- 網站和伺服器之間的關係網站伺服器
- 專案管理中各系統之間的關係專案管理
- 【java】類之間的關係Java
- .NET Core新增專案之間的依賴關係
- 頁面中多個script塊之間的關係
- Sevenhugs智慧遙控器:哪裡要用點哪裡
- Window、WindowManager、View 之間的關係View
- ODS與DW之間的關係
- UML中類之間的關係
- tablespace和datafile之間的關係
- 不同層之間的物件關係物件
- gcc 標頭檔案依賴關係 分析工具GC
- 配置節點間的SSH信任關係
- 效能測試各個指標之間關係指標
- 關於檔案寫入的原子性討論
- 監控行業無線遙控器的3個發展趨勢行業
- 使用C#實現一個PPT遙控器C#
- liunx核心移植(三)——核心、驅動、應用程式、根檔案系統的關係
- TLS與SSL之間關係TLS
- ps 與 svmon之間關係
- Window, WindowManager和WindowManagerService之間的關係
- git、github、gitlab之間的關係GithubGitlab
- UML類圖--類之間的關係
- QT中類之間的關係圖QT
- .Net Framework各版本之間的關係Framework
- 類與類之間的基本關係
- 檔案正由另一個程式使用
- 專案,計劃以及總體工作之間的關係(轉)
- 一個表空間最多有多少個資料檔案和file#與rfile#的關係