/////////////打开

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_);//关闭