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

2024-12-12 12:10:30
推荐回答(1个)
回答1:

你在你的串口类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");
只是提供一个思路