串口通讯怎么发送9位的数据位
串口通讯如何发送9位的数据位我要向单片机发送的数据,数据位包含9位的数据位应该如何发送,用户什么方式啊?
串口通讯如何发送9位的数据位
我要向单片机发送的数据,数据位包含9位的数据位应该如何发送,用户什么方式啊?
有没有什么控件可以做到?
9位数据位,不包括停止位,校验位的
[解决办法]
那就发 16 位吧,分两次发即可
自己处理一下协议
[解决办法]
这是不可能的,
UART协议只支持8位发送。
RS232接口的驱动都是硬件实现的,
软件改不了的。
[解决办法]
分两次发。
不然可以参考
http://www.cqvip.com/onlineread/onlineread.asp?ID=15314846#
好像是借用奇偶校验位
[解决办法]
发送数据是以字节为单位的。。你怎么可能一次发 9 个 bits 呢???
分两次发吧。。。
[解决办法]
[解决办法]可以发9位数据,8个数据为,第九位是校验位,校验位有4个状态可设置,基校验,偶校验,总为1,总为0,
你条件它总为1和总为0就可以实现9位数据了!
这个以前在做PC与MCU多机通讯中用过,用第9位来对应MCS-51的SM2位。
[解决办法]用9个字节传送8个数据,前8个字节是8个低8位,最高位第9字节发,
或者反过来,先发最高位。
[解决办法]根据楼主的这个情况建议用API来操作串口,具体API怎么操作串口可以自己上网查查
我把主要部分写出来
//第9位为0
m_dcb.Parity = MARK
SetCommState(hCom,&m_dcb);
WriteFile(hCom,buf,1,&SendLen,0);
//第9位为1
m_dcb.Parity = SPACE
SetCommState(hCom,&m_dcb);
WriteFile(hCom,buf,1,&SendLen,0);
接受同理