C++串口通讯解决方案
2022/8/1 1:22:45
本文主要是介绍C++串口通讯解决方案,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这篇文章只是笔记性质,没有实际的原创内容,主要是做一下方案的备份。
串口通讯使用开源的 CSerialPort 类,我使用的是Windows版本分支:
- CSerialPort 跨平台
- 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
这篇关于C++串口通讯解决方案的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-28Elasticsearch - kibana画图
- 2024-03-28我最近买的书里面带的CD盘,放电脑里后,说是0字节,但是可以播放,不能把里面的东西复制出来
- 2024-03-26sqlalchemy.exc.objectnotexecutableerror: not an executable object
- 2024-03-26no dashboards are active for the current data set
- 2024-03-26torch sum
- 2024-03-26format' is not a recognized built-in function name
- 2024-03-26sources list kali
- 2024-03-26matlab p code
- 2024-03-26mean of empty slice
- 2024-03-26unable to attach or mount volumes: unmounted volumes