我的主機是連接到網絡處理器LON:FT5000「Big Enidian」的STM32l100「Little Enidian」,通過UART通信,如何超過這個Enidians中的差異問題。我知道一個解決方案,發送和接收任何標準解決方案,因爲我的應用涉及嵌套結構和枚舉)微控制器和微處理器之間的字節順序問題?
0
A
回答
1
網絡協議應該定義字節序。例如,TCP/IP和Modbus是大端。而諸如DeviceNet之類的CIP協議是小端的。如果你正在創建你自己的協議,那麼選擇哪個字節序列最方便。
運行在網絡端點上的軟件應該適當地轉換數據。請注意,這可能意味着交換字節而不是交換位。
請參閱Introduction to Endianness瞭解更多信息,包括本摘錄。
一個常見的解決方案與網絡相關聯的字節序問題是定義一組四個預處理宏如清單1所示這些宏在如下:
htons():重新排序的字節從處理器訂單到網絡訂單的16位無符號值。宏名稱可以被讀爲「主機到網絡短路」。
htonl():將32位無符號值的字節從處理器順序重新排序爲網絡順序。宏名稱可以被讀爲「host to network long」。
ntohs():將網絡順序中的16位無符號值的字節重新排序爲處理器順序。宏名稱可以被讀爲「網絡到主機短」。
ntohl():將網絡順序中的32位無符號值的字節重新排序爲處理器順序。宏名稱可以被讀取爲「網絡到主機長」。
相關問題
- 1. VHDL微處理器/微控制器
- 2. 微處理器和微控制器有什麼區別?
- 3. PIC 16F684微控制器中斷處理
- 4. 如何控制微處理器..?
- 5. 中斷微控制器處理
- 6. LPC微控制器上的DFU問題
- 7. 微控制器位字段
- 8. RTOS和微控制器
- 9. 循環和微控制器
- 10. 隨着時間的推移處理微控制器數據
- 11. AVR微控制器
- 12. 8051F312微控制器
- 13. C8051f312微控制器
- 14. UART與I2C與SPI之間的微控制器之間的處理器間通信
- 15. 如何在微處理器/控制器上製作滾動條?
- 16. DSP /微控制器與PC應用程序之間的接口
- 17. Android設備和Arduino微控制器之間的通信
- 18. ARM微處理器的存儲空間
- 19. 使用微處理器的7段顯示控制器
- 20. 微控制器到微控制器SPI通信
- 21. 在處理之前更改控制器中的微風查詢字符串
- 22. 書籍編程處理器/微控制器使用DMA,中斷
- 23. IAP的LPC微控制器
- 24. .net微處理器開發
- 25. 微服務順序數據處理
- 26. 微控制器和ArrayAdapter Android中的NullPointerException
- 27. 控制器之間的處理範圍
- 28. 繼電器控制器和微控制器有什麼區別?
- 29. MC8051微控制器尋址
- 30. 逼近微控制器上
只需定義處理器之間的接口並編寫符合該定義的代碼即可。 –