MFC中的mscomm控件怎么实现接收缓冲区中的数据,将它的前6个字节赋给一个变量a,接下来的6个字节赋给另一个变量b,然后再接下来的6个字节赋给变量a,再接下来的6个字节赋给变量b……依次循环!!!
当获取了bytes以后,你想怎么操作都行。
追问好像不能满足我提出来的条件吧?我要求是总共有四个变量a,b,c,d,缓冲区中的第一个6个字节要给a,第二个6个字节要给b,第三个6个字节要给c,第四个6个字节要给d,再接着的6个字节要给a,依次循环!
追答你好,我只是没有帮你赋值而已。因为不知道你设置接收多少个字节才触发事件。
我假设你设定1个字节触发
假设你定义成员变量m_data
然后定义收到数据长度m_len
在每次进入这个函数i
f(len)
for(int i = 0; i =24)
{
你把m_data的值给你要赋值的变量就行了。
}
其实我上边的示例就是告诉你在每次触发串口接收事件里读取数据长度为len,数据可以使用bytes[i]来获取第i个字节,剩下的赋值的事儿看你怎么用而已。如果还不明白,我也没辙了...
MFC中的mscomm控件怎么接收缓冲区中的问题
if(m_commCtrl.GetCommEvent() == 2) \/\/事件值为2表示接收缓冲区内有字符{CByteArray bytes;COleSafeArray dataGet;try{dataGet = m_commCtrl.GetInput(); \/\/读缓冲区long len = dataGet.GetOneDimSize(); \/\/得到有效数据长度if(len >= 6)\/\/对数据大小判断,我这里示例是6,你也可以不要判...
MFC 使用MSCOMM控件(串口通讯)频发丢包现象??
1.m_cComm.SetInBufferSize(1024);\/\/设置输入缓冲区 加大输入缓冲区,以防数据溢出丢失。2.m_cComm.SetRThreshold(1);\/\/每当接收缓冲区有1个字符则接收串口数据 加大阈值,不需要有一个字符就接收数据,可以多接收一些字符,在接收数据 3.把数据接收程序放到单独的线程里。用afxbeginthread函数 ...
MFC中MSComm控件的oncomm在发送数据和接收数据的时候都不触发
m_ctrlComm.SetRThreshold(1);\/\/参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据n的OComm事件 这一句是不是没有设置?
mfc comm通用程序 接收到的数据不完整少于29个。我用串口调试助手 每次...
strtemp.Format("%X",bt); \/\/将字符送入临时变量strtemp存放 m_EditRxData+=strtemp; \/\/加入接收编辑框对应字符串 } 这个FOR也是同样的问题
问题描述如下: MFC基于Dialog,编写MSComm串口程序。 主对话框 A 有一...
2个办法 1,在b窗体上进行打开串口,发送数据、接收显示等一系列动作,a就是个启动界面,跟任何业务逻辑没有关系。2.如果目前是a负责打开串口,发送,接收,但要在b上显示,那a接收到数据后,通过a向b发送自定义消息,b来显示,或者a调用b的某个函数,把值传过去显示。因为如果a窗体用控件对串口...
用MFC做个串口通信的软件,出现很奇怪的错误,成员变量在一个函数改变后...
这个函数 OnMscommCa() 是串口有数据的时候的消息响应,那么就是主线程必须处在消息循环不停滞的情况下才能响应这个函数,你Sleep(300);\/\/等待200ms 这不是让主线程消息循环暂停了吗?那Sleep过了,主线程才读取消息队列的消息进行处理,所以你立即MessageBox(m_strCARXData); 是在数据未被读取时进行...
...的值后为什么接收到的总是3F?使用的是CMSComm控件。
问题解决了吗?我今天也遇到了这个问题,可否交流一下?我的理解是ascii码只有7位,最大为0111 1111,刚好是7F,所以大于7F的ascii码没有对应的字符
使用MFC(单文档)编的串口通信程序,编译时没有错误,最后执行时,总是提...
GetInput();\/\/先预读缓冲区,以清除残留数据 应该是有返回值的吧,有返回值的话,return 0这句就执行不到了,int CSDICommView::OnCreate(LPCREATESTRUCT lpCreateStruct) 的建议就“建立空文档失败”\/\/m_MSComm.GetInput();\/\/先预读缓冲区,以清除残留数据 这句 可以放在真正读数据之前。
MFC MSCOMM 全局化
1:你这是个对话框程序,你在对话框上面建立了TAB页,其中串口部分是要一直用到的,其余部分是要分开的。那么你可以在一个TAB页下建立让两个dlg显示。你需要调整下两个对话框的位置。2:头文件互相包含,保证你可以相互调用其中间的函数。问题太泛了,你先做,遇到具体问题的话再追问就行了。
用MFC的MSCOMM控件做的上位机 怎样发送 字符串 到51单片机SBUF里面_百度...
mfc自带的串口控件很烂,推荐cncomm开源串口库,而且有例子,串口开发不再可怕