qq_40568813 2018-01-16 01:41 采纳率: 50%
浏览 1970
已采纳

用serialport类做的vs串口通信

我用vs2010做了一个上位机,用来采集实验数据,用serialport类做的,接收数据之后
在示例编辑框中显示出来并保存成txt文件,现在它只能显示一个数据然后就不显示了,
我想让它不断的接收数据然后实时显示,求大神指教!!!

  • 写回答

4条回答 默认 最新

  • hxycsdn9159 2018-01-16 05:36
    关注

    如果你是在UI线程While循环里面去读取数据然后打印在编辑框的话要加上Application.DoEvents(),只打印一个是因为循环太快了,你的UI线程一直在处理串口的读取没时间去处理其他消息而造成的“假死”状态,改成如下:

    While(/*读取到数据*/)
    {
    byte[] tempBuffer = serialport.readbytes();//读取串口数据
    this.richtextbox1.Text = Encoding.Default.GetString(tempBuffer);//打印读取结果

                //最重要的加上这一句代码
                Application.DoEvents();   //处理form的其它消息
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决