|
用串口与MCU通信,用57600波特率,8位数据,1位停止位,无校验位。mcu端发送一个数据包号请求命令(共10个字节长度),wince端收到后,解析出包号,把对应包号的数据发送给MCU(共40个字节长度)。mcu端收到数据后继续请求下一包数据,一来一去,如此反复。 按理说这个处理过程应该是很快的啊,我测了下完成一包数据的通讯传递过程平均要50多毫秒!而理想状态下应该至少在20MS以下,请问要如何配置串口,才能达到这样的速度?
我的配置是:接收缓冲区和发送缓冲区大小均为1024个字节;以 EV_RXCHAR 来触发读线程ReadFile;发送数据直接用writefile(),没有另开写线程了。ReadTotalTimeoutMultiplier 和 ReadTotalTimeoutConstant 都设为0,ReadIntervalTimeout 设为 MAXDWORD;写超时设为TimeOuts.WriteTotalTimeoutMultiplier=10;TimeOuts.WriteTotalTimeoutConstant=100;(TimeOuts.WriteTotalTimeoutMultiplier=1;TimeOuts.WriteTotalTimeoutConstant=10也试过了,没什么起色)
请各位大侠指教!
|
|