首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

在vc串口通讯程序中,当4个com口同时通信时表现串口很不稳定,请教各位应怎么办

2012-11-03 
在vc串口通讯程序中,当4个com口同时通信时表现串口很不稳定,请问各位应怎么处理?在vc串口通讯程序中,当4个

在vc串口通讯程序中,当4个com口同时通信时表现串口很不稳定,请问各位应怎么处理?
在vc串口通讯程序中,当4个com口同时通信时表现串口很不稳定,请问各位应怎么处理?
谢谢各位

[解决办法]
那应该是你自己的线程设计不够好,或是共享资源没有互斥吧
[解决办法]
4个com口同时通信时,降低 波特率 试试。
[解决办法]
你用多线程做的吗?每个线程处理一个串口?
[解决办法]
BOOL ret=ReadFile(m_hCom,m_abyComData+m_nTotalRead,sizeof(m_abyComData)-m_nTotalRead,&dw,NULL);
阻塞式的读?
BOOL ret=WriteFile(m_hCom,p,len,&wn,NULL);
如何区分4个 com?
[解决办法]
先问楼主1个问题:
你读取串口数据的机制是怎样设计的?是主程序中设计好了固定的时间间隔,然后定时到串口的缓存中取数;还是主程序中的串口通信控件响应接收事件,当检测到有数据发过来之后再去取数?
[解决办法]
你的timeout好像有点短,
我的一个案例:
COMMTIMEOUTS timeout;
timeout.ReadIntervalTimeout=2;
timeout.ReadTotalTimeoutMultiplier=2;
timeout.ReadTotalTimeoutConstant=50;
timeout.WriteTotalTimeoutMultiplier=1;
timeout.WriteTotalTimeoutConstant=50;
另外DCB的XonLim和XoffLim也检查一下
[解决办法]
还是使用事件触发吧!

热点排行