各位大虾:
我搞了串口通信程序,已经串口的2,3脚短接用于本地环回测试,其他脚悬空。可是用程序打开串口的时候不知道DCB结构如何写呢?用GetLastError()得到参数不正确的提示,以下是我的配置DCB结构的代码:
DCB commParam;
...
commParam.BaudRate = baud;//baud是形参,下同
commParam.fBinary = TRUE;
commParam.fParity = TRUE;
commParam.ByteSize = databits;
commParam.Parity = 0;
commParam.StopBits = stopbits; commParam.fOutxCtsFlow = FALSE;
commParam.fOutxDsrFlow = FALSE;
commParam.fDtrControl = DTR_CONTROL_DISABLE; commParam.fDsrSensitivity = FALSE;
commParam.fTXContinueOnXoff = FALSE;
commParam.fOutX = FALSE;
commParam.fInX = FALSE;
commParam.fErrorChar = FALSE;
commParam.fNull = FALSE;
commParam.fRtsControl = RTS_CONTROL_DISABLE; commParam.fAbortOnError = FALSE;
我搞了串口通信程序,已经串口的2,3脚短接用于本地环回测试,其他脚悬空。可是用程序打开串口的时候不知道DCB结构如何写呢?用GetLastError()得到参数不正确的提示,以下是我的配置DCB结构的代码:
DCB commParam;
...
commParam.BaudRate = baud;//baud是形参,下同
commParam.fBinary = TRUE;
commParam.fParity = TRUE;
commParam.ByteSize = databits;
commParam.Parity = 0;
commParam.StopBits = stopbits; commParam.fOutxCtsFlow = FALSE;
commParam.fOutxDsrFlow = FALSE;
commParam.fDtrControl = DTR_CONTROL_DISABLE; commParam.fDsrSensitivity = FALSE;
commParam.fTXContinueOnXoff = FALSE;
commParam.fOutX = FALSE;
commParam.fInX = FALSE;
commParam.fErrorChar = FALSE;
commParam.fNull = FALSE;
commParam.fRtsControl = RTS_CONTROL_DISABLE; commParam.fAbortOnError = FALSE;
commParam.DCBlength = sizeof(DCB) ;填上后没有效果,还是参数错误~
dcb.BaudRate = g____Comm_Config.dcb.BaudRate;
dcb.ByteSize = g____Comm_Config.dcb.ByteSize;
dcb.fBinary = TRUE;
dcb.fParity = g____Comm_Config.dcb.fParity; if( !SetCommState( g____hComm, &dcb ) )
{