c# - 在打开端口之前接收到数据时,SerialPort 对象会引发 DataReceived 事件
问题描述
我有这个代码来打开一个串口:
SerialPort port = new SerialPort(portName);
port.BaudRate = 9600;
port.Handshake = Handshake.None;
_serialPorts.Add(name, port);
port.Open();
port.DiscardInBuffer();
port.DataReceived += port_DataReceived;
问题在于,如果在调用 Open 之前接收到数据,则会使用待处理的数据调用 port_DataReceived。
为了以防万一,我添加了 port.DiscardBuffer 调用,但这也不起作用。
有什么帮助吗?
解决方案
推荐阅读
- cypress - 赛普拉斯 - 类型错误:无法读取未定义的属性“键盘事件”(赛普拉斯版本 - 5.5.0)
- java - 按页面显示内容 (Android/Kotlin)
- elasticsearch - ElastAlert 安全异常
- python - Python-telegram-bot:如何在电报 api 中通过 bot 获取自定义号码最新消息?
- wordpress - 在可视化作曲家中单击选项卡时触发选项卡刷新
- python - DASK 延迟和具有多个返回变量的模块
- html - css 的 BEM 约定
- android - 使用 TableView 库的固定列
- amazon-web-services - 授予 AWS 账户的所有用户访问 EKS 集群的权限
- c++ - 如何在执行过程中显示加载 gif?