MFC中,怎样利用多线程和回调函数,从串口调试助手中接收数据,然后在编辑框中显示出来?

我想编一个基于对话框的程序comsendrecv.exe,与串口调试助手之间进行通信(利用VSPE),串口调试助手中已经能接收我从comsendrecv.exe中发送的数... 我想编一个基于对话框的程序comsendrecv.exe,与串口调试助手之间进行通信(利用VSPE),
串口调试助手中已经能接收我从comsendrecv.exe中发送的数据了,现在我想在comsendrecv.exe中接收到串口调试助手中发过来的数据,我已经写好了一个串口类SerialPort,请问我还要在该类和对话框类中添加什么,是怎么样一个流程,跪求大神帮忙啊~~~~~~~~~~~~
展开
 我来答
lucerfu
推荐于2016-10-03 · 超过28用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:71.9万
展开全部
你在你的串口类SerialPort里面加一个线程函数或者回调函数private函数:
static DWORD WINAPI ReceiveData(LPVOID lpParam); //线程函数
static WORD ProcessReceiveData(void* data);
void ProcessData(DWORD (*Func)(void*) ); //回调函数

然后再你接收数据的地方创建一个线程或者回调函数来处理你从串口接收到的数据:
CreateThread(NULL, 0, ReceiveData, this(或者你传入的参数) ,NULL, 0);//忘记了函数参数啊 或者
ProcessData(ProcessReceiveData);

最后将该数据在编辑框中显示出来就可以了
(CEdit*)GetDlgItem(ID_xxx)->SetWindowsText("DATA");
只是提供一个思路
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式