gpt4 book ai didi

C++串口通讯解决方案

转载 作者:知者 更新时间:2024-03-12 00:32:58 26 4
gpt4 key购买 nike

这篇文章只是笔记性质,没有实际的原创内容,主要是做一下方案的备份。

串口通讯使用开源的 CSerialPort 类,我使用的是Windows版本分支:

//1.串口开启
if (m_SerialPort.InitPort(this->GetSafeHwnd(), SelPortNO)//串口号
{
	m_SerialPort.StartMonitoring();//启动监听
}

//2.绑定消息响应函数
ON_MESSAGE(WM_COMM_RXSTR, &CtkrrfaceDlg::OnReceiveString)

//3.消息响应函数
LRESULT CtkrrfaceDlg::OnReceiveString(WPARAM str, LPARAM port)///接收消息响应函数
{
char dest[13];
//char des[13];
memcpy(dest,(char*)str,13*sizeof(char));//13为字符长度,需要修改
...
}

//4.如果要转换单字节和多字节接收,可以修改宏定义
#define IsReceiveString  1
ReceiveString 1多字符串接收(对应响应函数为WM_COMM_RXSTR),ReceiveString 0一个字符一个字符接收(对应响应函数为WM_COMM_RXCHAR)

//5.串口关闭函数
void OnClose()
{
	// TODO: Add your message handler code here and/or call default

	//comQR.StopMonitoring();//这个函数不需添加,会挂起线程(后面已经修复),直接调用ClosePort

	if (comQR.IsOpen())
	{
		comQR.ClosePort();
	}
}

代码备份:
CSerialPort V4.1.1 提取码: 5txz

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com