CserialPort类读写操作
各位大侠,我想请教一个问题,我现在使用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开发串口通信程序
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类
一个串口CserialPort类,很好用得。
一个串口CserialPort类,很好用得。避免对底层API的调用,使用起来还是很方便的。,


网络编程
