在工作中,需要不断的设置COM串口DTR线(pin4)高低电平来达到自动控制的目的。
Google了一下,发现设置COM串口DTR线高电平API提供了一个函数
BOOL WINAPI SetCommConfig( __in HANDLE hCommDev, __in LPCOMMCONFIG lpCC, __in DWORD dwSize );
通过调用该函数,可以设置COM串口DTR线为高电平。设置隐藏在COMMCONFIG结构体中,首先先得到默认的COMMCONFIG结构体,再设定COMMCONFIG的DCB结构体中的fDtrControl = DTR_CONTROL_ENABLE,代码如下:
COMMCONFIG commConfig = {0};
DWORD dwSize = sizeof(commConfig);
commConfig.dwSize = dwSize;
if (::GetDefaultCommConfig(m_comGoldenTX.GetDevicePathName(), &commConfig, &dwSize))
{
commConfig.dcb.fDtrControl = DTR_CONTROL_ENABLE;
if (!::SetCommConfig(m_comGoldenTX.