两个串口通信时,通过设置DCB的parity为markParity或spaceParity来发送9dataBits的数据,但如何接收9dataBits数据的第九位啊?
我在接收时调用GetCommState得到的dcb的parity总是本程序的初始设置,而不是
发送过来的第九位值。具体如何设置来接收和发送啊?
PC上的异步串口不可能发送和接受9位数据,如果算上效验和空闲位,你这种方法根本不行,首先效验位和空闲位是数据通讯中的协议部分,不可能参与数据通讯,另外通讯的双方效验位和空闲位的工作方式都是事先规定好的,通讯期间,不准许更改工作方式,如果要更改,也要在双方达成协议并中断通讯后,同时更改效验位和空闲位的工作方式,这样才能正常的通讯,即使你要更改,那可能会更遭,每发完一字节就需要更改一次DCB设置,这是异步串口通讯不准许的,最后导致串口工作不正常,速率降低,甚至CPU占用率达到100%
弄两个byte放数据
然后位操作一下