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("串口关闭"); }} 展开
 我来答
匿名用户
2013-09-28
展开全部
VS2008 里不用 mscomm 了

用 serialport

祝好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-10
展开全部
就是 新 的 vc 用 新组件 serialport
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式