mfc串口请教

IT_yangjing 2013-06-04 12:01:29
我想请教一下,在一个对话框中点击一个按键,串口发送数据给mcu,然后mcu回回送相对应的数据给串口,我要实现的效果是,我发送送完一串数据以后,等待mcu回送数据,然后再发第二串数据,在等待mcu回送数据。现在只要收到mcu的串口数据后,就会进去到串口事件触发的接收函数中去。有没有像单片机一样的关闭串口中断 ,然后等待数据到来,这个就完全面向过程了。
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
量子 2013-06-04
  • 打赏
  • 举报
回复
引用 楼主 IT_yangjing 的回复:
我想请教一下,在一个对话框中点击一个按键,串口发送数据给mcu,然后mcu回回送相对应的数据给串口,我要实现的效果是,我发送送完一串数据以后,等待mcu回送数据,然后再发第二串数据,在等待mcu回送数据。现在只要收到mcu的串口数据后,就会进去到串口事件触发的接收函数中去。有没有像单片机一样的关闭串口中断 ,然后等待数据到来,这个就完全面向过程了。
楼主,你的想法是可以是实现的,设置MSComm控件的RThreshold为0就不会触发事件了,通过查询方式判别是否接收到新的数据,实现你所谓的面相过程。但是你会发现,接收到数据的显示将是个问题,因为你必须退出串口接收函数,数据才会在对话框界面刷新显示出来。而要实现一边接收,一边显示的理想效果,则需要使用多线程技术才可以,这对于初学者来说,难度比直接使用串口控件的事件触发要难。所以一般人都还是使用触发器方式接收的。
向立天 2013-06-04
  • 打赏
  • 举报
回复
非要像单片机那样操作你可以考虑嵌入一段汇编语言
量子 2013-06-04
  • 打赏
  • 举报
回复
引用 2 楼 lid617 的回复:
进了:串口事件触发的接收函数中去,不是更好吧,表示数据来了啊
对于初学者,基于消息的程序运行机制可能还不太习惯。
lid617914 2013-06-04
  • 打赏
  • 举报
回复
进了:串口事件触发的接收函数中去,不是更好吧,表示数据来了啊
zgl7903 2013-06-04
  • 打赏
  • 举报
回复
你意思是不想用事件模式? 可以 ClearCommError 查 COMSTAT::cbInQue; // bytes in input buffer

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧