#include "stdafx.h" #include "SerialPort.h" #include "assert.h" CSerialPort::CSerialPort() { memset(&m_OverlappedRead, 0, sizeof(m_OverlappedRead)); memset(&m_OverlappedWrite, 0, sizeof(m_OverlappedWrite)); m_bOpened = false; m_ReadComThread = NULL; m_hIDCom = NULL; m_dwReadLen = 0; } CSerialPort::~CSerialPort() { } BOOL CSerialPort::OpenPort(UINT nPort, UINT nBaud) { ASSERT(nPort > 0 && nPort < 5); if(m_bOpened) return true; TCHAR szPort[15]; TCHAR szComParams[50]; DCB dcb; wsprintf(szPort, _T("COM%d"), nPort); m_hIDCom = ::CreateFile(szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL); if(m_hIDCom == NULL) return false; memset(&m_OverlappedRead, 0, sizeof(OVERLAPPED)); memset(&m_OverlappedWrite, 0, sizeof(OVERLAPPED)); COMMTIMEOUTS CommTimeOuts; CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF; CommTimeOuts.ReadTotalTimeoutC
简单封装的串口通信类
最新推荐文章于 2024-08-02 17:28:19 发布
这个博客介绍了一个用C++编写的串口通信类库,包括打开、关闭串口,读写数据以及串口监控等功能。通过创建文件句柄、设置通信参数和事件处理,实现了串口的高效稳定通信。
摘要由CSDN通过智能技术生成