CserialPort类读写操作

poplst poplst 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

各位大侠,我想请教一个问题,我现在使用CserialPort类进行串口通信,现在找到了一个实例,我想询问一下读写操作,对于下面程序代码,我发送数据的时候可以直接用char sBuf[] = "This should appear on the serial port";port.Write(sBuf, strlen(sBuf));但是我读数据的时候 char sRxBuf[10]; DWORD dwRead = port.Read(sRxBuf, 10);
该如何解释?DWORD类型的dwRead是什么呢?如果我要读取的数据是个字符串序列呢?肯定各位能给个介绍,谢谢。。
BOOL CSerialPortApp::InitInstance()
{
BYTE* pBuf = new BYTE[10000];

COMMCONFIG config;
CSerialPort::GetDefaultConfig(1, config);

CSerialPort port;
port.Open(1, 1200, CSerialPort::NoParity, 8, CSerialPort::OneStopBit, CSerialPort::XonXoffFlowControl);

HANDLE hPort = port.Detach();
port.Attach(hPort);

DWORD dwModemStatus;
port.GetModemStatus(dwModemStatus);

DCB dcb;
port.GetState(dcb);

dcb.BaudRate = 9600;
port.SetState(dcb);

DWORD dwErrors;
port.ClearError(dwErrors);

port.SetBreak();
port.ClearBreak();

COMSTAT stat;
port.GetStatus(stat);

COMMTIMEOUTS timeouts;
port.GetTimeouts(timeouts);

port.Setup(10000, 10000);//设置输入输出缓冲区大小

port.GetConfig(config);

config.dcb.BaudRate = 9600;
port.SetConfig(config);

port.Set0WriteTimeout();
port.Set0ReadTimeout();

char sBuf[] = "This should appear on the serial port";
port.Write(sBuf, strlen(sBuf));


DWORD dwMask;
port.GetMask(dwMask);

port.SetMask(EV_TXEMPTY);

//port.WaitEvent(dwMask);

port.TerminateOutstandingWrites();

port.TransmitChar('p');

port.Set0Timeout();

char sRxBuf[10];
DWORD dwRead = port.Read(sRxBuf, 10);


port.TerminateOutstandingReads();

port.ClearDTR();

port.ClearRTS();

port.SetDTR();

port.SetRTS();

port.SetXOFF();

port.SetXON();

COMMPROP properties;
port.GetProperties(properties);

port.ClearWriteBuffer();

port.ClearReadBuffer();

port.Flush();

port.Close();
}
...全文

相关推荐

CSerialPort类使用实例

使用CSerialPort开发串口通信程序

mjl1424667164

CSerialPort串口调试助手实现详解

CSerialPort类是用于在Windows平台上进行串口通信的一组API,它封装了Win32串口通信的底层细节,简化了开发人员的编程工作。通过CSerialPort类,开发者可以轻松地打开串口、配置串口参数、执行数据的读写操作,并处理相关的事件。Visual Studio 2015 是微软推出的一款功能强大的集成开发环境(IDE),适用于开发各种应用程序,包括桌面应用、网站、移动应用和微服务。在开发串口调试助手之前,了解 VS2015 的安装和配置流程是基础,这能够确保后续开发工作的顺利进行。

潮水岩

C++自定义类库:CSerialPort的串行通信实践

随着物联网和工业自动化的快速发展,串行通信技术在数据采集和设备控制中扮演着越来越重要的角色。CSerialPort类库作为一个在Windows平台上广泛使用的串口通信解决方案,成为了许多开发者进行串口通信的首选工具。除了RS-232之外,还有多个串行通信标准,其中一些是:RS-422:差分信号传输,支持多点通信,具有较高的抗干扰能力和传输速率。RS-485:与RS-422类似,但是允许多个发送器和接收器在同一对线上进行通信。TTL电平串口。

柯里丁丁

CserialPort类的入门实例

CserialPort类的入门实例,让初学者更好地认识,学习CserialPort类

ericson5121

一个串口CserialPort类,很好用得。

一个串口CserialPort类,很好用得。避免对底层API的调用,使用起来还是很方便的。,

QQ52440467
评论 4
收藏 已收藏
分享
返回顶部
poplst
网络编程 18,356 成员 64,161 内容