qq_32147245 2022-03-11 14:22 采纳率: 100%
浏览 154
已结题

c# 调用gurux.serial 串口工具类,随着使用的时间,串口的通讯速率会变慢,有什么办法解决吗?

问题遇到的现象和发生背景

软件在刚刚执行的前几个小时都是几百毫秒就可以收到回复

img

但是在执行一天后,通讯速率就变慢大概五秒左右

img

问题相关代码,请勿粘贴截图

```c#
    _serialHelper.ClosePort();
                            System.Threading.Thread.Sleep(500);
                            _serialHelper = new Utility.Helper.SerialHelper();
                            System.Threading.Thread.Sleep(500);

                            _serialHelper.Port = serialPortName;
                            _serialHelper.Baudrate = _serialPortModel.BoardRate;
                            _serialHelper.AnalyzeType = "Hex";
                            _serialHelper.OpenPort();
                           _serialHelper.SendData(SendList[i]);

                                                int maxByteWaitTime = _serialPortModel.WaitTime;
                                                string lastRespond = _serialHelper.ReceivedText;
                                                //等待接受完整帧
                                                while (true)
                                                {
                                                    System.Threading.Thread.Sleep(20);
                                                    string CurrentRespond = _serialHelper.ReceivedText;
                                                    if (CurrentRespond == lastRespond)
                                                    {
                                                        break;
                                                    }
                                                    else
                                                    {
                                                        lastRespond = _serialHelper.ReceivedText;
                                                    }
                                                    if (maxByteWaitTime == 0) break;
                                                    maxByteWaitTime--;
                                                }

###### 运行结果及报错内容 

###### 我的解答思路和尝试过的方法 

###### 我想要达到的结果
```c#


  • 写回答

1条回答 默认 最新

  • 於黾 2022-03-11 14:50
    关注

    首先,你不要没事老关闭端口又打开端口,保持打开就可以了
    其次,检查到底是你的程序慢还是对方程序慢,把你的程序重启一下就快了吗
    然后,看看有没有内存泄漏

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 3月11日

悬赏问题

  • ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动
  • ¥15 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
  • ¥15 云环境云开发云函数对接微信商户中的分账功能
  • ¥15 空间转录组CRAD遇到问题
  • ¥20 materialstudio计算氢键脚本问题
  • ¥15 有没有代做有偿主要做数据可视化部分即可(2023全国高考更省一本线理科类)
  • ¥15 配置FPT报错,该如何处理
  • ¥15 请大家看一下这个代码咋写,一点思路都没有,最好能做一下,不要伪代码,有偿
  • ¥15 有偿请人帮写个安卓系统下禁止装软件及禁止拷入文件的程序
  • ¥100 用 H.265 对音视频硬编码 (CUDA)