C++自动识别串口程序

_上帝之手_ 2016-03-26 10:07:29
C++自动识别串口程序,发送正确的指令格式,用另外的机器接收,接收到的全是0(发的不是0),但是用之前好使的程序(串口通信,发送接收都没问题,每次都这样,而且换USB口或者重启又不行了)执行一遍之后,再次执行现有程序,接受就正常了,请问什么原因呢???
...全文
1120 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cptang 2016-05-06
  • 打赏
  • 举报
回复
估计你的程序退出时没释放串口资源! 导致串口始终被占用
资源下载链接为: https://pan.quark.cn/s/5c50e6120579 在本文中,我们将详细探讨如何利用 Visual Studio 2010 和 MFC(Microsoft Foundation Classes)框架开发一款串口助手程序。该程序的核心功能包括自动检测串口和循环发送指令,这使其在串行通信调试与测试中极为实用。以下是本文关注的重点内容: MFC库简介:MFC 是微软提供的 C++ 库,用于开发 Windows 应用程序。它封装了 Windows API,简化了窗口、菜单、对话框等组件的创建与管理,为开发者提供了面向对象的编程接口。 串口通信:串口通信是一种通过串行端口进行数据传输的方式,广泛应用于嵌入式系统、工业设备和实验室仪器之间。在 Windows 环境下,可以通过 WinAPI 函数或特定库(如 MFC 的 CSerialPort 类)实现串口操作。 自动识别串口:在“VS2010+MFC 串口助手”中,自动识别串口功能是指程序能够自动枚举计算机上可用的串行端口,并提供给用户选择。这通常通过调用 SetupDiGetClassDevs 和 CMFCSerialPort::EnumPorts 等函数实现,遍历所有可能的 COM 端口并验证其有效性。 CSerialPort 类:这是 MFC 库中用于串口操作的类,封装了打开、关闭、读写串口以及设置串口参数(如波特率、数据位、停止位和校验位)等常用操作。在本项目中,开发者对 CSerialPort 类进行了修改,以满足自动识别串口的需求。 循环发送指令:循环发送指令功能允许用户设置一个命令序列,程序将按照设定的间隔持续发送这些命令。这一功能在测试设备响应或连续数据流场景中非常有用,通常通过定时器(如 Ctimer)和串口发送函数配合实现,确保在指定时间间隔内可靠地发送数据。 源码分析:Ser

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧