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

使用mscomm控件接收报文时,断断续续的有关问题,如何解决呢

2012-03-18 
使用mscomm控件接收报文时,断断续续的问题,怎么解决呢?我使用mscomm开发一个串口通信程序,跟下面的单片机

使用mscomm控件接收报文时,断断续续的问题,怎么解决呢?
我使用mscomm开发一个串口通信程序,跟下面的单片机通信时,接收到的报文断断续续,

我在mscomm控件的接收事件中,直接显示读取的报文。
比如我收到的一帧应该是有10个字节的,但是并不能一次性把10字节都读上来。

[解决办法]
1.m_ctrlComm.SetRThreshold(10);//设置为10,缓冲区中达到10字节响应一次
2.m_ctrlComm.SetInBufferCount(0);
m_ctrlComm.SetOutBufferCount(0);//发送前清空接收和发送缓冲区
3.m_ctrlComm.SetOutput(COleVariant(arraySend));
//完成1,2后进行发送,如果接收字节数一直为10,即可在初始化时设置,以后可不用重新设置
[解决办法]

C/C++ code
DWORD dwErrorMask = 0;COMSTAT cs;//读取之前先获取一下串口的状态,检查是否有返回数据,并得到数据的个数ClearCommError(hPort, &dwErrorMask, &cs);if (cs.cbInQue == 10){    //ReadFile(........);}else{    //重试}
[解决办法]
探讨
引用:

1.m_ctrlComm.SetRThreshold(10);//设置为10,缓冲区中达到10字节响应一次
2.m_ctrlComm.SetInBufferCount(0);
m_ctrlComm.SetOutBufferCount(0);//发送前清空接收和发送缓冲区
3.m_ctrlComm.SetOutput(COleVariant(a……

[解决办法]
探讨
serialport是一个控件吗?在哪里下载呢?

热点排行