
VS2008用基于MFC用mscomm控件写的一个串口程序为什么我多次打开和关闭串口后程序集中断了? 5
voidCCOM15Dlg::OnBnClickedButton4()//打开关闭串口按钮{//TODO:在此添加控件通知处理程序代码m_COMofforon=!m_CO...
void CCOM15Dlg::OnBnClickedButton4()//打开关闭串口按钮{ // TODO: 在此添加控件通知处理程序代码 m_COMofforon = !m_COMofforon;//串口打开关闭标志 if(m_COMofforon) { //添加的对串口的初始化语句 if(m_.get_PortOpen()) //如果发现串口本来是打开的,则关闭串口 m_mscomm.put_PortOpen(FALSE); m_mscomm.put_CommPort(15); //选择COM1端口 m_mscomm.put_InputMode(1); //输入方式为二进制方式 m_mscomm.put_InBufferSize(2048); //设置输入缓冲区 m_mscomm.put_OutBufferSize(512); //设置输出缓冲区 m_mscomm.put_Settings(TEXT("115200,n,8,1"));//波特率,无校验,个数据位,个停止位 if(!m_mscomm.get_PortOpen()) { m_mscomm.put_PortOpen(TRUE); //打开串口 m_mscomm.put_RThreshold(43); //每当接收缓冲区有个字符则接收串口数据 m_mscomm.put_InputLen(0); //设置当前缓冲区长度为 m_mscomm.get_Input(); //预读缓冲区以清除残留数据 } else AfxMessageBox("打开端口失败!",MB_ICONSTOP,0); ((CButton*)GetDlgItem(IDC_BUT_OFF_ON_COM))->SetWindowText("串口打开"); } else { m_mscomm.put_PortOpen(FALSE); ((CButton*)GetDlgItem(IDC_BUT_OFF_ON_COM))->SetWindowText("串口关闭"); }}
展开
2个回答
2013-09-28
展开全部
VS2008 里不用 mscomm 了
用 serialport
祝好
用 serialport
祝好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-10
展开全部
就是 新 的 vc 用 新组件 serialport
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询