最近在在用vs做一些串口485通讯的一些编程,其实之前也在做。最近也是比较赶,然后忽视了一些东西。所以就做这个笔记进行记录一下。我的文字都比较杂乱,没有思路顺序,基本就是我现在要用到啥就记录一下,主要是当做自己的笔记来写的。
mfc中没有找到MScomm组件的使用方法,网上查了一堆有说要注册要干嘛的,很麻烦,所以就直接代码实现了。感觉这个最简单了。
CString strPort="COM3"; //串口名
HANDL hCom = ::CreateFile(strPort, GENERIC_READ | GENERIC_WRITE,
0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
//生成串口的句柄
if (hCom == INVALID_HANDLE_VALUE)
{
MessageBox(_T("串口连接失败"));
}
//设置基本属性
DCB dcbSerialParam{ 0 };
dcbSerialParam.BaudRate = CBR_19200; //设置波特率
dcbSerialParam.ByteSize = 8; //数据位
dcbSerialParam.StopBits = ONESTOPBIT; //停止位
dcbSerialParam.Parity = EVENPARITY; //校验位
if (!SetCommState(hCom, &dcbSerialParam))
{
std::cout << "failed to setup parameters\n";
}
//设置超时属性,
COMMTIMEOUTS timeout{ 0 };
timeout.ReadIntervalTimeout = 50;
timeout