Modbus通讯协议中的ASCII传输,每个字节都作为一个ASCII码(两个十六进制)发送的
实际上在ASCII模式下,所有的通讯数据都是ASCII码,包括帧结束用的也是ASCII码里的回车、换行。 每个字节都作为一个ASCII码,这里说的有点歧义。应该说是两个ASCII码。比如要传送一个字节,字节内容是0x23,则实际传送的是两个ASCII码,即字符2(0x32)和字符3(0x33)。 这种编码的好处是所有的字符都是可读的,不会出现0x00、0xFF这种不可读的,方便调试。缺点是效率低,把一个字节拆成两个ASCII码,数据量变大了。
0x23 这个是十六进制表示方法。 这是一节字节的数据,是指MODBUS里面的数据,与传送无关。 传送的时候,把一个字节拆成2个ASCII表示,0x32,0x33,这个是传送的过程中的一种变换,接收方在接收到后,需要重新拼接,还原成数据,即0x23。