根据msdn的资料,好像微软串口控件mscomm最高设置波特率只能到115200bps,不是这样的。
例如使用了一个PL2303的“USB转串口”的芯片(Prolific公司生产),最高能支持到1.2MB的波特率通信,能支持的波特率如下表:
使用VC初始化串口核心代码如下:
m_Comm1.SetCommPort(11); //串口号,指的是COM1、COM2、COM3等等
m_Comm1.SetInputMode(1); ///设置数据通讯格式为二进制数组格式
//m_Comm1.SetSettings("460800,n,8,1");
//m_Comm1.SetSettings("614400,n,8,1");
//m_Comm1.SetSettings("921600,n,8,1");
m_Comm1.SetSettings("1228800,n,8,1");
m_Comm1.SetRThreshold(1); //设置为每次接到1个字节数据就触发OnComm事件
m_Comm1.SetInputLen(0);
完整的工程下载位置在:http://download.csdn.net/detail/dijkstar/7042157
2014-09-10编辑:
经过工程验证,在WinXP上最高跑在921600bps时没有问题,一切正常;但在Win7上该程序接收就不正常(不论何种波特率);