溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一個單片機和ARM cpu之間通信協議的示例

發布時間:2020-06-30 21:34:44 來源:網絡 閱讀:814 作者:GaoNeil 欄目:移動開發

一個單片機和ARM cpu之間通信協議的示例

在進行soc之間進行通信時,往往需要制定通信協議,以下是我制定的一個示例,供大家參考:

  1. 格式:
    一個單片機和ARM cpu之間通信協議的示例

1)magic
magic頭長度為2字節,內容為0x55,0xAA,這是字節出現順序,不區分little endian還是big endian。
magic頭的作用是為了實現在發送和接收同步丟失時,快速找到同步。
2)type
type長度為2字節,內容為具體的message id號。message id采用little endian字節序。
3)length
length為后面的data字段的長度,單位為字節數。length占兩個字節。length采用little endian字節序。
4) verify head
verify
head為head的校驗碼,可以迅速知道head是否正確。 head包括從magic到length整個內容。如果內容不對,那么需要重新搜索magic頭,再檢查head是否正確,從而可以快速同步。校驗head的正確性后,length就可以正常使用,正確定位數據的長度。
verify_ head占2個字節。 verifyhead的算法可以采用簡單的16bit異或算法,或者CRC16算法,或者其他算法。為簡單方便,目前采用16bit異或算法。
verify
head采用little endian字節序。
5) data
data為任意長度的數據。具體格式根據具體的message id來定。
6) verify_data
verify_data為data段的校驗??梢圆捎酶鞣N算法。verify_data根據算法的需求來確定長度。
為簡單方便,目前采用8bit異或算法,即這里采用1字節長度。

一個單片機和ARM cpu之間通信協議的示例
一個單片機和ARM cpu之間通信協議的示例
一個單片機和ARM cpu之間通信協議的示例
一個單片機和ARM cpu之間通信協議的示例

另外我的相關培訓視頻請看:
歡迎觀看我發布的各個課程: https://edu.51cto.com/lecturer/8896847.html

另外我的免費的linux各種驅動開發課程如下:
https://edu.51cto.com/course/17138.html

我的新的更多優惠的打包課程鏈接如下:
https://edu.51cto.com/sd/0a9d4

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女