7,540
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
char buffer[1024];
DWORD dwRead;
DCB dcb;
HANDLE mComHandle;
mComHandle = CreateFile(TEXT("COM4"),
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
if (INVALID_HANDLE_VALUE == mComHandle) {
int nError = GetLastError();
}
GetCommState(mComHandle, &dcb);
dcb.BaudRate = CBR_115200;
dcb.Parity = NOPARITY;
dcb.ByteSize = 8;
dcb.StopBits = ONESTOPBIT;
SetCommState(mComHandle, &dcb);
SetupComm(mComHandle, 1024, 1024);
SetCommMask(mComHandle, EV_BREAK | EV_ERR | EV_RXCHAR);
PurgeComm(mComHandle, PURGE_TXCLEAR | PURGE_RXCLEAR);
memset(buffer, 0, sizeof(buffer));
while (mComHandle != INVALID_HANDLE_VALUE ) {
BOOL bSuccess = ReadFile(mComHandle, buffer, sizeof(buffer), &dwRead, NULL);
if (bSuccess) {
if (dwRead > 0) {
printf(buffer);
}
} else {
printf("LastError = %d\r\n", GetLastError());
}
}
CloseHandle(mComHandle);
}