#include <windows.h>
#include <stdio.h>
int main()
{
HANDLE hComm; // 定义串口句柄
char comPort[] = "COM3"; // 串口名称 具体看你自己的设备
char send_buf[] = "111"; // 发送的数据内容
DWORD bytesWritten, bytesRead; // 发送和接收的字节数
char receive_buf[100]; // 接收缓冲区
// 打开串口
hComm = CreateFile(comPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hComm == INVALID_HANDLE_VALUE) {
printf("Failed to open serial port %s\n", comPort);
return 1;
}
// 配置串口
DCB dcbSerialParams = { 0 };
dcbSerialParams.DCBlength = sizeof(dcbSerialParams);
if (!GetCommState(hComm, &dcbSerialParams)) {
printf("Failed to get serial parameters\n");
CloseHandle(hComm);
return 1;
}
dcbSerialParams.BaudRate = CBR_115200;
dcbSerialParams.ByteSize = 8;
dcbSerialParams.StopBits = ONESTOPBIT;
dcbSerialParams.Parity = NOPARITY;
if (!SetCommState(hComm, &dcbSerialParams)) {
printf("Failed to set serial parameters\n");
CloseHandle(hComm);
return 1;
}
// 发送数据
if (!WriteFile(hComm, send_buf, sizeof(send_buf), &bytesWritten, NULL)) {
printf("Failed to write to serial port\n");
CloseHandle(hComm);
return 1;
}
printf("Sent %d bytes: %s\n", bytesWritten, send_buf);
// 接收数据
if (!ReadFile(hComm, receive_buf, sizeof(receive_buf), &bytesRead, NULL)) {
printf("Failed to read from serial port\n");
CloseHandle(hComm);
return 1;
}
printf("Received %d bytes: %s\n", bytesRead, receive_buf);
// 关闭串口
CloseHandle(hComm);
return 0;
}
C语言实现USB串口通信
于 2023-11-30 20:10:46 首次发布