通讯协议解析小结

    好久没有写博客了,今天在处理串口通讯的时候,有些东西绕晕了,现在写下来分解一下,帮助自己理解。拿到一份协议应该怎么做,我这边分成了几个小部分

1.协议类型(Hex发送接收还是ASCII发送接收)

2.Hex发送是否高低位互换(4种变形,我这边只考虑4个字节情形)

ABCDCDAB
ABCDDCBA
ABCDBADC
ABCDABCD

3.Hex转什么类型(int,float等)

------------------------------------------------------------------------------------

1.Hex发送,ASCII发送

个人理解:纯数字用Hex发送,带中文什么用ASCII发送。

Hex发送时,数据与byte[]数据的转换,BitConverter类的使用(参考:https://blog.csdn.net/qq_15020543/article/details/82190918

2.Hex发送是否高低位互换

这个具体要根据协议来,发送和接收都有可能互换,最好有报文例子这样才能知道是否高低位互换

3.Hex转什么类型(int,float等)

这个具体要根据协议来,int和float字节位数不同,所以要根据协议

提问:2进制和10进制和16进制怎么转换?

2进制=>10进制

0110 0001 =>97(2的0次*1+2的5次*1+2的6次*1=97)

2进制=>16进制

0110 0001 =>0x61(2的1次*1+2的2次*1=62的0次*1=1)

16进制=>10进制

0x61=>97(6*16+1=97)

提问:Hex发送和ASCII发送有什么区别(参考:https://blog.csdn.net/wuxinyou1991/article/details/51683627

举个例子:如果Hex发送aa,则aa为16进制,若用Hex接收则aa为16进制,若没有用Hex接收,则为乱码,因为Hex发送时,两个两个一对,aa为16进制,若ASCII发送,则a对应的ASCII值97发送。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值