232串口通信如何发送很长数据位
232里面的数据位是6/7/8位,请问要是我想发送16位或32位该怎么发。分成几次发吗?但是看它的数据帧格式,它是怎么分辨高位和低位的。...
232里面的数据位是6/7/8位,请问要是我想发送16位或32位该怎么发。分成几次发吗?但是看它的数据帧格式,它是怎么分辨高位和低位的。
展开
展开全部
将数据位。设为8位,将 16位的数。转为 char * 或者unsigned char * 数组也行,,,,,比如
int a=0x55aa, unsigned char send[2]; send[0]=a&0x00ff; send[1]=(a>>8)&0xff,再发送 send[0]
和 send[1];
int a=0x55aa, unsigned char send[2]; send[0]=a&0x00ff; send[1]=(a>>8)&0xff,再发送 send[0]
和 send[1];
更多追问追答
追问
相当于send[0] = aa,send[1] = 55;把它分开发送。但是我想知道接收端怎么识别?它收到的是aa,55.它怎么知道把他们组合起来。更长的位数呢?还是数据位是八位,这八位不都是数据,里面有标志什么的。没有标志的话,很难理解发送原理。
追答
他们不会把他们结合起来。你知道。串口数据位。最大是8位。一个字节,只能一个字节。一个字节这个传输,你的串口接收函数也是先收到 AA 然后再收到 55的。中断两次。要你手动组合咯的。串口协议书这样子。没办法。一次发大于8位的数据
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询