正點原子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
- Maven專案之間關係介紹Maven
- 網站和伺服器之間的關係網站伺服器
- 【java】類之間的關係Java
- 頁面中多個script塊之間的關係
- gcc 標頭檔案依賴關係 分析工具GC
- Window、WindowManager、View 之間的關係View
- git、github、gitlab之間的關係GithubGitlab
- 效能測試各個指標之間關係指標
- TLS與SSL之間關係TLS
- React、Ant Design、DvaJS之間的關係ReactJS
- UML類圖--類之間的關係
- 思考 TPS 與 RT 之間的關係
- Window, WindowManager和WindowManagerService之間的關係
- 類與類之間的基本關係
- vue原始碼分析系列之入口檔案分析Vue原始碼
- 使用C#實現一個PPT遙控器C#
- tep環境變數、fixtures、用例三者之間的關係變數
- 微服務實戰系列(三)-springcloud、springboot及maven之間關係微服務GCCloudSpring BootMaven
- 程式碼安全之檔案包含
- react、redux、react-redux之間的關係ReactRedux
- Java設計模式-類之間的關係Java設計模式
- 類之間的6種關係詳解
- 介面、抽象類、普通類之間的關係抽象
- GeoTools應用-JTS(Geometry之間的關係)
- PostgreSQL的表檔案以及TOAST表檔案對應關係SQLAST
- setup與data、methods三者間的關係
- [原創]請問需求捕獲、需求分析、系統分析之間的關係是怎樣的?
- CPU、記憶體、磁碟IO之間的關係記憶體
- Kubernetes和Docker之間的關係是什麼?Docker
- ERP與精益生產之間的關係
- Web3和元宇宙之間的關係Web元宇宙
- Linux 虛擬檔案系統四大物件:超級塊、inode、dentry、file之間關係Linux物件
- 陪玩原始碼,與時間、日期相關的程式碼分析原始碼
- Python用shp檔案裁剪多個遙感影像的方法Python
- 物件導向程式設計程式碼詳解(依賴關係,關聯關係,組合關係)物件程式設計