职业病院网站建设,合肥网站建设公司,网页设计网站首页代码,网站可以做的兼职文章目录 前言一、什么是 MSComm二、MSComm 控件下载三、MSComm 控件的注册四、使用 MSComm 控件1、前面板放置控件2、MSComm 的常用属性3、MSComm 控件的事件 五、实现串口收发1、搭建虚拟串口2、发送测试3、接收测试4、后面板核心程序框图 六、程序自取 前言
本文介绍使用 A… 文章目录 前言一、什么是 MSComm二、MSComm 控件下载三、MSComm 控件的注册四、使用 MSComm 控件1、前面板放置控件2、MSComm 的常用属性3、MSComm 控件的事件 五、实现串口收发1、搭建虚拟串口2、发送测试3、接收测试4、后面板核心程序框图 六、程序自取 前言
本文介绍使用 ActiveX 控件 MSComm 实现高性能的串口收发。 一、什么是 MSComm
MSComm 作为一个串行通讯控件每个 MSComm 控件都对应一个串口若需访问多个串口时必须使用多个 MSComm 控件。
MSComm 是 ActiveX 控件可以在 PC 上控制串口数据的发送和接收支持查询方式和中断方式Windows 下称为事件驱动方式。
中断方式当串口有数据到达或有数据写入到串口缓冲中时就会触发中断可以使用 OnComm 捕获事件并进行处理。这种方式响应及时比轮询方式效率要高。查询方式实际上仍热是事件驱动的需要检查 CommEvent 属性值来查询事件。
二、MSComm 控件下载
点此链接MSComm控件
三、MSComm 控件的注册
1、将上面下载的 MSCOMM.SRG、MSCOMM32.DEP、MSCOMM32.oca、mscomm32.ocx 这四个文件放到 C:\windows\system3232位系统 或 C:\Windows\SysWOW6464位系统目录下。
2、在“此目录“下找到“cmd.exe”文件右键以管理员身份运行在弹出的对话框内输入regsvr32 mscomm32.ocx 后回车。控件注册成功后如下图。
四、使用 MSComm 控件
1、前面板放置控件
①、打开前面板右键 - 容器 - ActiveX容器 ②、右键 ActiveX容器 - 插入 ActiveX对象 ③、选择 Microsoft Communication Controlversion 6.0点击确定得到下图的 MSComm 控件 ④、右键点击 MSComm 控件选择“属性浏览器”可得该控件的属性
2、MSComm 的常用属性
CommPort设置并返回通讯端口号Settings以字符串形式设置并返回波特率、奇偶校验、数据位、停止位PortOpen设置并返回通讯端口的状态。也可以打开和关闭端口Input从接收缓冲区返回和删除字符InputLen设置并返回 input 属性从接收缓冲区读取的字符数Output向传输缓冲区写一个字符串RThreshold在设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前设置并返回要接收的字符数CTSHolding确定是否可通过查询 CTS 线的状态发送数据SThreshold设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前设置并返回传输缓冲区中允许的最小字符数CDHolding通过查询 CD 线的状态确定当前是否有传输DSRHolding确定 DSR 线的状态EOFEnable确定在输入过程中 MSComm 控件是否寻找文件结尾EOF
3、MSComm 控件的事件
MSCOMM控件只使用一个事件 OnComm用属性 CommEvent 的十七个值来区分不同的触发时机。主要有以下几个
CommEvent1时传输缓冲区中的字符个数已少于 Sthreshold 可设置的属性值个CommEvent2时接收缓冲区中收到 Rthreshold可设置的属性值个字符利用此事件可编写接收数据的过程CommEvent3时CTS线发生变化CommEvent4时DSR线发生变化CommEvent5时CD线发生变化CommEvent6时检测到振铃信号 另外十种情况是通信错误时产生即错误代码。
五、实现串口收发
1、搭建虚拟串口
参考我的上一篇博客https://blog.csdn.net/qq_41839588/article/details/131936554?spm1001.2014.3001.5501
2、发送测试
程序中使用的是 COM8 口因此开一个虚拟串口 COM9COM9发 -- COM8收
3、接收测试
程序中使用的是 COM8 口因此开一个虚拟串口 COM9COM8发 -- COM9收
4、后面板核心程序框图 六、程序自取
链接https://download.csdn.net/download/qq_41839588/88104522 我的qq2442391036欢迎交流