本人在写了一串口通讯驱动程序,测了下使用其receive函数的时间竟然要>=240ms太郁闷了,要是我一次循环多读几组那不一次循环下来得要2、3秒啊。这是怎么回事啊,有没碰到过的给指点下谢谢!
简化如下:
for(i<n)
{
1.send()发
...
2.receive收
}
上面1和2之间没花啥时间,就执行2后要花>=240ms
简化如下:
for(i<n)
{
1.send()发
...
2.receive收
}
上面1和2之间没花啥时间,就执行2后要花>=240ms
调试欢乐多
COMMTIMEOUTS OutTime;
OutTime.ReadIntervalTimeout=200;//0xffffffff
OutTime.ReadTotalTimeoutMultiplier =10;
OutTime.ReadTotalTimeoutConstant=100;
OutTime.WriteTotalTimeoutMultiplier=10;
OutTime.WriteTotalTimeoutConstant=100;
设置超时时间如下:
COMMTIMEOUTS OutTime;
OutTime.ReadIntervalTimeout=0;//0xffffffff
OutTime.ReadTotalTimeoutMultiplier =1;
OutTime.ReadTotalTimeoutConstant=100;
OutTime.WriteTotalTimeoutMultiplier=1;
OutTime.WriteTotalTimeoutConstant=100;
也能正常收发只是时间
receive时花时间太长了>=240ms
在send和receive所申请的pBuf都<250
如果知道把ReadFile的最大值改为数据大小,