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

本文介绍了两种设置串口参数的方法:一是使用固定参数初始化串口,包括选择串口、设置波特率等;二是通过组合框动态选择串口及波特率,并展示了如何在编辑框中显示这些设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

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);

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/ysysbaobei/archive/2009/03/10/3970985.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值