`

MSComm串行通讯控件设置 串口、波特率等参数方法

阅读更多

一.想一进入程序,有默认的串口参数设置:

 

1.把参数值设定死

在OnInitDialog()函数里添加:

if (m_ctrlComm.GetPortOpen())

m_ctrlComm.SetPortOpen(FALSE);

m_ctrlComm.SetCommPort(1); // 选择com1

if (!m_ctrlComm.GetPortOpen())

m_ctrlComm.SetPortOpen(TRUE); // 打开串口

else

AfxMessageBox("cannot open serial port");

m_ctrlComm.SetSettings("9600, n, 8, 1"); // 波特率9600,无校验,8个数据位,1个停止位

m_ctrlComm.SetInputMode(1);  // 1表示以二进制方式检取数据

m_ctrlComm.SetRThreshold(1);  // 参数为1,表示每当串口接收缓冲区中有对于或等于一个字符时,将引发一个接收数据的OnComm事件

m_ctrlComm.SetInputLen(0);  // 设置当前接收区数据长度为0

m_ctrlComm.GetInput();  // 先预读缓冲区以清除残留数据

 

2. 用COMBO BOX下拉框选择串口、波特率

m_cbPortSelect.ResetContent();

m_cbPortSelect.AddString(_T("COM1"));

m_cbPortSelect.AddString(_T("COM2"));

m_cbPortSelect.AddString(_T("COM3"));

m_cbPortSelect.AddString(_T("COM4"));

m_cbPortSelect.AddString(_T("COM5"));

m_cbPortSelect.SetCurSel(3);

 

m_cbPortRate.ResetContent();

m_cbPortRate.AddString(_T("1200"));

m_cbPortRate.AddString(_T("2400"));

m_cbPortRate.AddString(_T("4800"));

m_cbPortRate.AddString(_T("9600"));

m_cbPortRate.SetCurSel(0);

 

 

二.想动态地设置串口相关参数:

CString str_setting;

str_setting.Format(_T("%d, %c, %d, %d"), baud_num, 'n', 8, 1);

m_ctrlComm.SetSettings(str_setting); // 设置波特率,校验位,数据位,停止位;m_ctrlComm是通信控件变量

 

想在Edit Box里显示实时值:

m_strSerialPort.Format("串口%d, 波特率%d, %c, %d个数据位,%d个停止位", port_num, baud_num, 'n', 8, 1);

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ysysbaobei/archive/2009/03/10/3970985.aspx

 

分享到:
评论

相关推荐

    微机原理串行通信SerialPort

    SerialPort类对分别用[BaudRate]、[Parity]、[DataBits]、[StopBits]属性设置通讯格式中的波特率、数据位、停止位和校验位,其 中[Parity]和[StopBits]分别是枚举类型Parity、StopBits,Parity类型中枚举了Odd(奇)...

    MCS51工具软件及通讯开发库

    MCS51Tools包含以下功能:串口通讯调试器、波特率计算器、定时器计算器、标准波特率选择指导、产生标准波特率的晶振选择指导。 特别:现在有很多串口通讯调试软件,基本都是基于“点对点”通讯的,很少有适合PC机...

    visual C++_Turbo C串口通信编程实践

    3.2.7 在MSComm控件串口编程时遇到的其它问题说明 3.3在基于单文档(SDI)程序中应用MSComm控件 3.4应用MSComm控件控制多个串口实例 第4章 Windows API串口编程 4.1 Windows API串口编程概述 4.2 API串口...

    Visual C++串口通信技术详解.(机械工业.李景峰.杨丽娜.潘恒)

    9.2.1 波特率设置 9.2.2 奇偶校验位的使用方法 9.2.3 通信协议约定 9.3 系统总体设计 9.4 单片机的串口编程方法 9.5 计算机端通信界面设计 9.6 计算机端程序设计 9.6.1 头文件引用及变量声明 9.6.2 控件加载及控件...

    Visual C++/Turbo C串口通信编程实践 及源代码-1

    3.2.6 在mscomm控件串口编程时遇到的其他问题 63 3.3 在基于单文档(sdi)程序中应用mscomm控件 63 3.4 应用mscomm控件控制多个串口实例 69 3.5 串口与modem拨号应用简例 76 3.5.1 创建工程 76 3.5.2 代码分析 ...

    Visual C++/Turbo C串口通信编程实践及源代码-3

    3.2.6 在mscomm控件串口编程时遇到的其他问题 63 3.3 在基于单文档(sdi)程序中应用mscomm控件 63 3.4 应用mscomm控件控制多个串口实例 69 3.5 串口与modem拨号应用简例 76 3.5.1 创建工程 76 3.5.2 代码分析 ...

    Visual C++_Turbo C 串口通信编程实践.(电子工业.龚建伟.熊光明) 第二版 电子版

    3.2.6 在MSComm控件串口编程时遇到的其他问题 63 3.3 在基于单文档(SDI)程序中应用MSComm控件 63 3.4 应用MSComm控件控制多个串口实例 69 3.5 串口与MODEM拨号应用简例 76 3.5.1 创建工程 76 3.5.2 代码分析 78 ...

    Visual C++/Turbo C串口通信编程实践及源代码-2

    3.2.6 在mscomm控件串口编程时遇到的其他问题 63 3.3 在基于单文档(sdi)程序中应用mscomm控件 63 3.4 应用mscomm控件控制多个串口实例 69 3.5 串口与modem拨号应用简例 76 3.5.1 创建工程 76 3.5.2 代码分析 ...

    Visual C++_Turbo C 串口通信编程实践.(电子工业.龚建伟.熊光明) 源码光盘

    3.2.6 在MSComm控件串口编程时遇到的其他问题 63 3.3 在基于单文档(SDI)程序中应用MSComm控件 63 3.4 应用MSComm控件控制多个串口实例 69 3.5 串口与MODEM拨号应用简例 76 3.5.1 创建工程 76 3.5.2 代码分析 78 ...

    Visual C++实践与提高——串口通信与工程应用篇1

    6.3.1 波特率的设置 122 6.3.2 奇偶校验位的使用方法 123 6.3.3 通信协议约定 123 6.4 单片机的串口编程方法 124 6.4.1 功能描述 124 6.4.2 通信协议 124 6.4.3 初始化串口及寄存器 124 6.4.4 编写中断服务程序 125 ...

    单片机与PC机串行通信系统设计

    串口部分确定了以定时器T1 工作在方式 2 作为波特率发生器,单片机与 PC 机采用了标准的 RS-232C 接口进行连接,其中存在着电平转换电路的设计,利用了 PROTEL99SE 软件进行通信系统硬件电路原理图的绘制,并生成...

    MCS251单片机和PC机间的串口通信

    本文概述了PC机与单片机间进行串行口通信的基本原理,介绍了PC机与下位机之间的通信协议,并详述了在VisualC + +环境下上位机利用MSComm通信控件与单片机之间进行RS232异步串行口通信的实现,给出了实现通信的硬件...

Global site tag (gtag.js) - Google Analytics