以文件方式操作串口
/////////////打开
HANDLE handlePort_ = CreateFile("COM1", // 端口设备: 默认 "COM1"
GENERIC_READ | GENERIC_WRITE, // 设备打开模式: 允许读写
0, // 不共享
NULL, // 默认安全设置
OPEN_EXISTING, // 打开方式:打开已经存在的端口
0, // 默认
NULL); // 默认
DCB config_,d;
config_.BaudRate = 600; // 波特率
config_.StopBits = 1; // 停止位
config_.Parity = 0; // 奇偶校验
config_.ByteSize = 8; // 数据位
SetCommState(handlePort_,&config_);
COMMTIMEOUTS comTimeOut;
// 接收时,两字符间最大的时延
comTimeOut.ReadIntervalTimeout = 3;
// 读取每字节的超时
comTimeOut.ReadTotalTimeoutMultiplier = 3;
// 读串口数据的固定超时
// 总超时 = ReadTotalTimeoutMultiplier * 字节数 + ReadTotalTimeoutConstant
comTimeOut.ReadTotalTimeoutConstant = 2;
// 写每字节的超时
comTimeOut.WriteTotalTimeoutMultiplier = 3;
// 写串口数据的固定超时
comTimeOut.WriteTotalTimeoutConstant = 2;
// 将超时参数写入设备控制
SetCommTimeouts(handlePort_,&comTimeOut);
char buf[64];
LPOVERLAPPED ll;
unsigned long length;
if (////////////////////////////////////////////////////////////////发送
WriteFile(handlePort_, // 文件句柄
buf, // 数据缓冲区指针
64, // 字节数
&length,NULL) == 0) // 接收成功发送数据长度的指针
{
AfxMessageBox("Reading of serial communication has problem.");
}
CloseHandle(handlePort_);//关闭