芒果呀1 2023-06-05 00:02 采纳率: 37.5%
浏览 11

C# 串口数据一直读取 怎么实现C# 程序一直处于 “开启状态”,使有数据来的时候就显示,没数据的时候就“待机” 同时有数据来时就把前一数据覆盖

C# 串口数据一直读取
怎么实现C# 程序一直处于 “开启状态”,使有数据来的时候就显示,没数据的时候就“待机” 同时有数据来时就把前一数据覆盖

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-05 02:08
    关注
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7659574
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:在C#中实现数据库的连接,查询,将查询结果读取返回到内存存储器中,并生成二维码,还有一个二维码生成demo 本文件里面包含二维码生成
    • 除此之外, 这篇博客: C# 字符串方法的使用归纳(直观,粗暴)和序列化反序列化中的 字符串的替换: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • str1.Replace("456","789");//"456"被替换的原字符串;"789"要替换成的字符串;(本例结果:789 Hello world 789)
      
    • 您还可以看一下 guiplan创始人周老师老师的【c#解放双手】模拟鼠标键盘纯自动化操作课程中的 软件最大化并置顶显示小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      我可以通过以下步骤来实现C#中的串口程序: 1. 导入System.IO.Ports命名空间,该命名空间中包含了与串口通信相关的类和方法。 2. 创建SerialPort类的实例,设置相应的属性,例如串口号、波特率、停止位、数据位等。 3. 使用Open()方法打开串口。 4. 使用DataReceived事件处理程序来处理接收到的数据,例如使用ReadLine()方法读取一行数据,并将其显示在控制台上。 5. 使用while循环使程序一直处于“开启状态”,例如在while循环中使用Thread.Sleep()方法来等待下一次数据的到来。 6. 同时,使用if语句判断是否有新的数据到来,如果有,立即将查询到的数据覆盖之前的数据。

      代码如下:

      using System;
      using System.IO.Ports;
      
      class Program
      {
          static void Main(string[] args)
          {
              SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
              serialPort.Open();
              string previousData = ""; // 用于存储之前的数据
              while (true)
              {
                  if (serialPort.BytesToRead > 0) // 判断是否有新的数据到来
                  {
                      string newData = serialPort.ReadLine(); // 读取新的数据
                      Console.WriteLine(newData); // 显示新的数据
                      previousData = newData; // 覆盖之前的数据
                  }
                  System.Threading.Thread.Sleep(1000); // 等待下一次数据的到来,间隔为1秒
              }
          }
      }
      
    评论

报告相同问题?

问题事件

  • 创建了问题 6月5日

悬赏问题

  • ¥15 mySQL5.7.34安装遇到的问题
  • ¥15 结构功能耦合指标计算
  • ¥20 visual studio中c语言用ODBC链接SQL SERVER
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上