MFC 串口控件

一、环境缺少控件

  从网上下载控件包,并安装。安装方法,打包文件中有介绍。

  链接: https://pan.baidu.com/s/1o76MI9O 密码: k5iq

二、串口控件的使用

  (以下内容源自网络,整理后作为学习笔记)

  基于MFC的MSComm 控件在串口编程时非常方便,在VC、VB、Delphi等语言中均可使用。 Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,为应用程序提供了通过串行接口收发数据的简便方法。有两种处理通信方法:事件驱动(Event-driven)和查询

  MSComm控件两种处理通讯的方式 

  1. 事件驱动方式

  事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。例如,在串口接收缓冲区中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生。可利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代码。这种方法的优点是程序响应及时,可靠性高。每个MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。

  2. 查询方式 

  在程序的每个关键功能之后,通过检查 CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,可使用这种方式。例如,一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。

 

  MSComm控件的常用属性

  cComm.Settings = "9600,n,8,1";   //波特率 ,校验位,数据位,停止位

  Settings属性: 设置串口参数。字符串"9600,n,8,1" 表示波特率为9600,无奇偶校验,数据位为8为,1位停止位。

 

  cComm.nBufferSize = 1024;    //  接受缓冲区大小 

  InBufferSize 属性:接收缓冲区的字节数大小,默认值为1024。

 

  cComm.OutBufferSize = 1024;   //  发送缓冲区大小 

  OutBufferSize属性:发送缓冲区的大小,默认值为1024,也可以自己设定。  

 

  cComm.InBufferCount = 0;     //清空接受缓冲区 

  InBufferCount属性:当前接收缓冲区接收到的数据的长度, count = cComm.InBufferCount,则count值就是接收缓冲区接收到的数据的长度,对InBufferCount赋值cComm.InBufferCount = 0,可以清空接受缓冲区

 

  cComm.OutBufferCount = 0;    //清空发送缓冲区 

  OutBufferCount属性:当前发送缓冲区中数据的长度,对OutBufferCount 赋值cComm. OutBufferCount = 0,可以清空发送缓冲区

 

  cComm.InputMode = comInputModeText;// 以文本方式取回数据 

  cComm.InputMode = comInputModeBinary; //设置接收数据模式为二进制形式 

  InputMode属性:串口接收数据的模式, comInputModeText(0)表示以文本(ASCII)方式取回数据,comInputModeBinary(1)表示以二进制方式取回数据

comInputModeText, comInputModeBinary为预定义常量,分别表示0,1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值