CSerialPort类 串口号的限制
请教各位大虾一个问题!
CSerialPort类的源文件中有这么一段
BOOL CSerialPort::InitPort(CWnd* pPortOwner, // the owner (CWnd) of the port (receives message)
UINT portnr, // portnumber (1..4)
UINT baud, // baudrate
char parity, // parity
UINT databits, // databits
UINT stopbits, // stopbits
DWORD dwCommEvents, // EV_RXCHAR, EV_CTS etc
UINT writebuffersize) // size to the writebuffer
{
assert(portnr > 0 && portnr < 200);
assert(pPortOwner != NULL);
.........................................
}
assert(portnr > 0 && portnr < 200);这条语句是对串口号做了限制吗?
我的电脑获取到实际的串口号是21,
我的程序: if(m_serialport.InitPort(this,21,9600,'N',8,1,EV_RXFLAG|EV_RXCHAR,512))
{
m_serialport.StartMonitoring();
m_bComm[0]=TRUE;
AfxMessageBox("SUC");
}
else
{
AfxMessageBox("没有发现此串口或被占用!");
m_bComm[0]=FALSE;
}
当我打开21号串口的时候会出错,提示串口号不存在或被占用。即使我屏蔽了以上assert语句,结果还是一样的,请问应该怎么处理呀??
我在程序中需要同时打开10个串口,分别监控10台仪表的串口数据。头疼!