16,472
社区成员
发帖
与我相关
我的任务
分享
#define BUF_IO_SIZE 16
unsigned char lpBuf[BUF_IO_SIZE];
DWORD dwReadSize = 0;
memset(lpBuf, 0, BUF_IO_SIZE);
CString str = "COM4";
HANDLE hCom = CreateFile(str, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
while(1) {
if(hCom != NULL || hCom != INVALID_HANDLE_VALUE)
ReadFile(hCom, lpBuf, BUF_IO_SIZE, &dwReadSize, NULL);
}
if(hCom != NULL || hCom != INVALID_HANDLE_VALUE)
if(hCom != INVALID_HANDLE_VALUE)
#define BUF_IO_SIZE 16
unsigned char lpBuf[BUF_IO_SIZE];
DWORD dwReadSize = 0;
memset(lpBuf, 0, BUF_IO_SIZE);
CString str = "\\\\.\\COM4";//"COM4";
HANDLE hCom = CreateFile(str, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hCom != NULL || hCom != INVALID_HANDLE_VALUE) {
// 设置超时时间参数以及串口参数.
COMMTIMEOUTS CommTimesOuts;
// 读取溢出时间 = 要读取的字节 * 放大因子 + 固定时间
// Bin 码每个BIN 间的时间允许为 30 ms , 在此设定为 100 ms , 超过该时间说明读取完成
CommTimesOuts.ReadIntervalTimeout = 30;
// 时间放大因子
CommTimesOuts.ReadTotalTimeoutMultiplier = 8 ;
// 固定时间,
CommTimesOuts.ReadTotalTimeoutConstant = 100 ;
// 写数据溢出时间 = 要写入的字节 * 放大因子 + 固定时间
CommTimesOuts.WriteTotalTimeoutMultiplier = 2 * CBR_9600 / 115200;
CommTimesOuts.WriteTotalTimeoutConstant = 50;
SetCommTimeouts(hCom, &CommTimesOuts);
DCB dcb;
dcb.DCBlength = sizeof( DCB );
GetCommState(hCom, &dcb );
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
if(!SetCommState(hCom, &dcb)
|| !SetupComm(hCom, 10000, 10000)) // 缓冲区设置
return FALSE;
}
while(1) {
if(hCom != NULL || hCom != INVALID_HANDLE_VALUE)
ReadFile(hCom, lpBuf, BUF_IO_SIZE, &dwReadSize, NULL);
}
#define BUF_IO_SIZE 16
unsigned char lpBuf[BUF_IO_SIZE];
DWORD dwReadSize = 0;
memset(lpBuf, 0, BUF_IO_SIZE);
CString str = "\\\\.\\COM4";
HANDLE hCom = CreateFile(str, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
DCB dcb;
... // 设置参数
SetCommState(hCom, &dcb);
while(1) {
if(hCom != NULL || hCom != INVALID_HANDLE_VALUE)
ReadFile(hCom, lpBuf, BUF_IO_SIZE, &dwReadSize, NULL);
}
#define BUF_IO_SIZE 16
unsigned char lpBuf[BUF_IO_SIZE];
DWORD dwReadSize = 0;
memset(lpBuf, 0, BUF_IO_SIZE);
CString str = "\\\\.\\COM4";
HANDLE hCom = CreateFile(str, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
while(1) {
if(hCom != NULL || hCom != INVALID_HANDLE_VALUE)
ReadFile(hCom, lpBuf, BUF_IO_SIZE, &dwReadSize, NULL);
}