我有一个关于串口通信的程序,98下可以,2000下不行
if ((m_idComDev = CreateFile(m_sPort,
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0)) == (HANDLE)-1)
return FALSE; SetCommMask(m_idComDev, EV_RXFLAG);
SetupComm(m_idComDev, 4096, 4096); CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF;
CommTimeOuts.ReadTotalTimeoutMultiplier = 5;
CommTimeOuts.ReadTotalTimeoutConstant = 5000;
CommTimeOuts.WriteTotalTimeoutMultiplier = 5;
CommTimeOuts.WriteTotalTimeoutConstant = 5000;
SetCommTimeouts(m_idComDev, &CommTimeOuts); fInitComm = SetupConnection();
98/2000返回值均正常;
2000下往串口上发送数据时,writefile()返回值为0;98下为1,正确,为什么呢?在线等待,急!
if ((m_idComDev = CreateFile(m_sPort,
GENERIC_READ | GENERIC_WRITE,
0,
0,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0)) == (HANDLE)-1)
return FALSE; SetCommMask(m_idComDev, EV_RXFLAG);
SetupComm(m_idComDev, 4096, 4096); CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF;
CommTimeOuts.ReadTotalTimeoutMultiplier = 5;
CommTimeOuts.ReadTotalTimeoutConstant = 5000;
CommTimeOuts.WriteTotalTimeoutMultiplier = 5;
CommTimeOuts.WriteTotalTimeoutConstant = 5000;
SetCommTimeouts(m_idComDev, &CommTimeOuts); fInitComm = SetupConnection();
98/2000返回值均正常;
2000下往串口上发送数据时,writefile()返回值为0;98下为1,正确,为什么呢?在线等待,急!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货