對於這兩類的各有各的優點和缺點。
一、ASCII
優點:
1、簡單直觀。(比如在串列埠除錯助手很容易看懂協議上傳的資料)
2、資料起始標誌位和結束標誌位唯一,不與資料內容衝突。(比如起始位為SS,結束位為\r\n)
3、適用大小端MCU的協議通訊,8位微控制器基本都是大端,32位及以上微控制器和PC都是小端。(大小端MCU資料高低位元組記憶體儲存位置不同,只能透過轉譯成int資料才能處理)
缺點:
1、效率低。(把ASCII碼轉譯成int型別進行協議處理)
2、傳送資料也要轉譯。(把int轉譯成ASCII)
二、hex十六進位制
1、高效。(接收到的資料無需轉譯,直接協議解析處理)
2、資料直接傳送。
1、資料不直觀(比如在串列埠除錯助手很難看懂協議上傳的資料)
2、資料起始標誌位和結束標誌位不唯一,與資料內容衝突。(比如起始位為0xCC 0xDD,一旦資料內容出現0xCC 0xDD則可能會被認為是協議起始位,沒有結束標誌位)
3、不適用於大小端MCU的協議通訊,8位微控制器基本都是大端,32位及以上微控制器和PC都是小端。(大小端MCU資料高低位元組記憶體儲存位置不同,但是強行使用也可以注意資料高低位元組顛倒)
對於這兩類的各有各的優點和缺點。
一、ASCII
優點:
1、簡單直觀。(比如在串列埠除錯助手很容易看懂協議上傳的資料)
2、資料起始標誌位和結束標誌位唯一,不與資料內容衝突。(比如起始位為SS,結束位為\r\n)
3、適用大小端MCU的協議通訊,8位微控制器基本都是大端,32位及以上微控制器和PC都是小端。(大小端MCU資料高低位元組記憶體儲存位置不同,只能透過轉譯成int資料才能處理)
缺點:
1、效率低。(把ASCII碼轉譯成int型別進行協議處理)
2、傳送資料也要轉譯。(把int轉譯成ASCII)
二、hex十六進位制
優點:
1、高效。(接收到的資料無需轉譯,直接協議解析處理)
2、資料直接傳送。
缺點:
1、資料不直觀(比如在串列埠除錯助手很難看懂協議上傳的資料)
2、資料起始標誌位和結束標誌位不唯一,與資料內容衝突。(比如起始位為0xCC 0xDD,一旦資料內容出現0xCC 0xDD則可能會被認為是協議起始位,沒有結束標誌位)
3、不適用於大小端MCU的協議通訊,8位微控制器基本都是大端,32位及以上微控制器和PC都是小端。(大小端MCU資料高低位元組記憶體儲存位置不同,但是強行使用也可以注意資料高低位元組顛倒)