BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */
另外,楼主这里:
dcb.StopBits = 1;
设置的停止位是1.5而非1吧?
MSDN里面有一句话
“The use of 5 data bits with 2 stop bits is an invalid combination,
as is 6, 7, or 8 data bits with 1.5 stop bits.”
也就是:
5位数据位与2位停止位的组合
6,7,8位数据位与1.5位停止位的组合
都是invalid的。
总之,楼主仔细看下