hulalahei 最近的时间轴更新
hulalahei

hulalahei

V2EX 第 528270 号会员,加入于 2021-01-14 12:21:59 +08:00
今日活跃度排名 29665
根据 hulalahei 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
hulalahei 最近回复了
@ysc3839 我一开始就是循环 read 的,返回的数据速度上升之后,大概十分钟就会出现同样的问题。可能和设备有一定的关系,这个设备十几年前买的。但是新设备同样有这个问题,只是出现的频率低一点。
@hahiru 😀老哥的这个方法好像是可以的,一下午还没闪退。晚上还没闪退的话,200 红包就给你啦。红包咋给你比较方便。
@hahiru 好的,我试试。
@hifeng 我试试
@muyiluop #5 意思是把读和处理分开吗?我记得我试过只读数据,压根不处理,也会造成数据的积累。比如改成这样之后

int toRead = _serialPort.BytesToRead;

if (toRead <= 0) return;

var buffer = new byte[toRead]; // 最多读 10 字节
int numRead = _serialPort.Read(buffer, 0, buffer.Length);
正常是返回 5 字节,一开始会是正常 5 5 5 5 5 5 5 这样返回,后续就会变成 5 5 5 120 160,然后越来越大。
@GeruzoniAnsasu 还有个问题,就是同步读数据堆积了,无法获取到实时的数据。
@GeruzoniAnsasu 回调直接读 BytesToRead 个字节我也试过,还是会报同样的错。
@muyiluop 我之前也尝试过直接 read ,可以正常读数,但是一会读数就卡死了,_serialPort.BytesToRead 会不断上升。正常的数据是 5 个字节的,有的时候会突然一下返回几百个字节。
2023-11-14 12:13:11 +08:00
回复了 lijianmin321 创建的主题 分享创造 V 站老哥太热情了, Airy 永久会员加送 9000,凑到 1 万
支持支持
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 22:33 · PVG 06:33 · LAX 15:33 · JFK 18:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.