近期需要使用C++進行串口通訊,將Win32 API串口接口進行了下封裝,可實現同步通訊,異步回調通訊
1、SerialportMy.h
#pragma once
#include <Windows.h>
#include <thread>
#include <atomic>
#include <functional>
#include <queue>
#include <iostream>
class SerialportMy
{
public:using DataReceivedCallback = std::function<void(const char*, size_t)>;// 模式選擇:同步(阻塞)或異步(事件驅動)enum class Mode { Sync, Async };SerialportMy(const char* port = "\\\\.\\COM1", Mode mode = Mode::Sync);~SerialportMy();// 打開串口(波特率/數據位/停止位可配置)bool Open(int baudRate = 9600, int dataBits = 8, int stopBits = 1, bool isStartThread = true);//