VC串口通讯异常:当端口打开时操作无效
VC串口通讯错误:当端口打开时操作无效
我是用MSComm控件来收发数据的
看过好多源代码都是这样打开串口的,为什么就我的会报错?
m_Comm.SetCommPort(5); 换过串口号还是报这个错
搜了好多资料都没解决这个问题
------解决思路----------------------
if(m_Comm.GetPortOpen()) m_Comm.SetPortOpen(FALSE); /************************************************************************//* 这个地方有个bug;“当端口打开时操作无效”
把这两条语句去掉,并没给控件赋值哪个串口,当然出错了。应该是下面的判断
------解决思路----------------------
具体报的是什么错?
你在设备管理器里是否已经确认过有COM5这个设备?
------解决思路----------------------
要么串口号指定错误, 要么就是串口号已经被占用,就是你在某个地方打开了, 却没有关闭. 串口是独占的.
我是用MSComm控件来收发数据的
if(m_Comm.GetPortOpen())
m_Comm.SetPortOpen(FALSE);
/************************************************************************/
/* 这个地方有个bug;“当端口打开时操作无效” */
/************************************************************************/
m_Comm.SetCommPort(5); //选择com1
if( !m_Comm.GetPortOpen())
m_Comm.SetPortOpen(TRUE);//打开串口
else
AfxMessageBox("cannot open serial port");
m_Comm.SetSettings("9600,n,8,1"); //波特率9600,无校验,8个数据位,1个停止位
m_Comm.SetOutBufferSize(512);
m_Comm.SetInBufferSize(1024);
m_Comm.SetInputMode(1); //1:表示以二进制方式检取数据
m_Comm.SetRThreshold(1);
看过好多源代码都是这样打开串口的,为什么就我的会报错?
m_Comm.SetCommPort(5); 换过串口号还是报这个错
搜了好多资料都没解决这个问题
------解决思路----------------------
if(m_Comm.GetPortOpen()) m_Comm.SetPortOpen(FALSE); /************************************************************************//* 这个地方有个bug;“当端口打开时操作无效”
把这两条语句去掉,并没给控件赋值哪个串口,当然出错了。应该是下面的判断
------解决思路----------------------
具体报的是什么错?
你在设备管理器里是否已经确认过有COM5这个设备?
------解决思路----------------------
要么串口号指定错误, 要么就是串口号已经被占用,就是你在某个地方打开了, 却没有关闭. 串口是独占的.