双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

CSerialPort类 串口号的限制

j_enjoy j_enjoy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请教各位大虾一个问题!
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台仪表的串口数据。头疼!
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
j_enjoy
进程/线程/DLL 15,466 成员 49,169 内容