博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[填坑]SerialPort的“端口被关闭”
阅读量:7216 次
发布时间:2019-06-29

本文共 447 字,大约阅读时间需要 1 分钟。

一年前用winform给公司做了一个软件,用到了电子秤,因此使用了SerialPort来读串口数据。

做完后,DataReceived事件里偶尔出现“端口被关闭”错误,都是在关闭串口后出现。

(出错位置要么是读数据ReadLine,要么时清除缓存DiscardInBuffer)

当时研究了半天没解决,想着影响不大,就直接上线用了;同事反映bug时,我就叫他重启软件即可。。。坑了๑乛◡乛๑

 

 

直到今天,需要改功能,改完后本地测试时又出现了⊙▂⊙,就顺便上网再找下资料。

终于在博客园看到类似这问题的兄弟,而一楼的大大就说了原因:SerialPort.Close就和文件的关闭一样,在关闭时会flush发送缓冲区的内容。

一下就明白了。。。然后马上把DiscardInBuffer换到Close前,运行调试,试了十几次,真的没再出现了。↖(^ω^)↗

灰常蟹蟹“告诉”大大,解决了一年前的坑!!

转载于:https://www.cnblogs.com/rorysix/p/8038338.html

你可能感兴趣的文章
JavaScript的数据类型有哪些?
查看>>
如何只在IE上加载CSS样式表
查看>>
个人博客三|首页后台开发
查看>>
调用链系列四:调用链上下文传递
查看>>
在Windows下,用Hexo搭建博客
查看>>
刷前端面经笔记(十一)
查看>>
【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
查看>>
Kaggle冠军经验分享丨如何用15个月冲到排行榜的首位
查看>>
Stream流与Lambda表达式(一) 杂谈
查看>>
独家揭秘!阿里大规模数据中心的性能分析
查看>>
Valid
查看>>
大数据驱动的运营创新和探索
查看>>
你属于程序员中的哪种人?
查看>>
基于Mixin Network的PHP比特币开发教程 之一:创建机器人
查看>>
时序数据库连载系列: 时序数据库一哥InfluxDB之存储机制解析
查看>>
sorl实现商品快速搜索
查看>>
Webpack4 学习笔记 - 01:webpack的安装和简单配置
查看>>
236. Lowest Common Ancestor of a Binary Tree
查看>>
300. Longest Increasing Subsequence
查看>>
GO基础编程-自定义函数
查看>>