C++ 串口编程指南:创建、配置和数据读取
在 C++ 中创建串口需要使用 Windows API 中的 CreateFile 函数和相关串口操作函数。
下面是一个简单的串口通信程序示例:
#include <windows.h>
#include <stdio.h>
int main()
{
HANDLE hComm; // 串口句柄
char buffer[1024]; // 缓冲区
DWORD bytesRead; // 读取字节数
// 打开串口
hComm = CreateFile('COM1', GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if(hComm == INVALID_HANDLE_VALUE)
{
printf("无法打开串口\n");
return 1;
}
// 配置串口参数
DCB dcb;
GetCommState(hComm, &dcb);
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
SetCommState(hComm, &dcb);
// 读取串口数据
while(1)
{
if(ReadFile(hComm, buffer, sizeof(buffer), &bytesRead, NULL))
{
printf("读取到%d字节数据:%s\n", bytesRead, buffer);
}
else
{
printf("读取数据失败\n");
}
}
// 关闭串口
CloseHandle(hComm);
return 0;
}
该程序通过 CreateFile 函数打开 COM1 串口,然后使用 GetCommState 和 SetCommState 函数配置串口参数。在读取数据时,使用 ReadFile 函数从串口读取数据并输出到控制台。需要注意的是,该程序是一个死循环,需要手动停止。
在实际应用中,还需要考虑串口数据的发送和接收,以及错误处理等问题。
原文地址: https://www.cveoy.top/t/topic/npqg 著作权归作者所有。请勿转载和采集!