谷姐:我们都是谷歌迷
We are all Google fans

谁知道C#的串口读取,高级bug么?-斌斌

Rate this post

我用串口调试工具,能看到数据大概100ms输出1个数据,是传感器的角度X,我用C#的SerialPort 读取,也能读取到但是延迟很高,X改变,几秒C#才读取到这个X

热议
推荐楼 Grandia 昨天16:56

port.ReceivedBytesThreshold = 1
设置了这个好使了,不知道原因,但是这个设置完了,就不会延迟了。网 ...

我知道你大概怎么回事了。强行缓冲区等满,但是实际上一次收到的字节数都不够缓冲区长度的,PC上串口缓冲区好像是64个字节。 还是来一个收一个最方便。

2楼 hfhfg 昨天14:21

这个与什么语言的程序无关,是程序逻辑设计问题。

3楼 Grandia 昨天14:24

用非阻塞的方式读。和底层直接接触了,要注意阻塞与非阻塞的问题

4楼 sertt 昨天14:26

你读太慢了 新数据都堆起来了

5楼 未闻听心 昨天14:56

检查一下代码吧

6楼 奧巴马 昨天15:00

要加个线程,循环读。要清空缓冲。
另外,线也要好一点的。

7楼 斌斌 昨天15:56

要加个线程,循环读。要清空缓冲。
另外,线也要好一点的。

应该是C# 的bug。我python 读取没有延迟,奇怪啊。 只是读取的频率快一些而已。
@未闻听心
@sertt @Grandia @hfhfg

8楼 未闻听心 昨天16:07

应该是C# 的bug。我python 读取没有延迟,奇怪啊。 只是读取的频率快一些而已。
@未闻听心
@sertt @Gran ...

代码贴出来瞅瞅诶,开发工控程序一直用的C#,没发现过有什么问题。

9楼 斌斌 昨天16:28

代码贴出来瞅瞅诶,开发工控程序一直用的C#,没发现过有什么问题。

port.ReceivedBytesThreshold = 1
设置了这个好使了,不知道原因,但是这个设置完了,就不会延迟了。网上有说的。

10楼 hack301 昨天16:33

应该是C# 的bug。我python 读取没有延迟,奇怪啊。 只是读取的频率快一些而已。
@未闻听心
@sertt @Gran ...

怎么可能是C#bug?用异步和await来等待数据

12楼 奧巴马 昨天17:51

应该是C# 的bug。我python 读取没有延迟,奇怪啊。 只是读取的频率快一些而已。
@未闻听心
@sertt @Gran ...

一直用C#搞工控开发,没发现问题!

13楼 未闻听心 21分钟前

port.ReceivedBytesThreshold = 1
设置了这个好使了,不知道原因,但是这个设置完了,就不会延迟了。网 ...

这个属性的默认值就是1啊

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

未经谷姐允许不得转载:谷姐靓号网 » 谁知道C#的串口读取,高级bug么?-斌斌
分享到: 生成海报

热门文章

评论 抢沙发

评论前必须登录!

立即登录   注册

买Google Voice认准【谷姐靓号网】

Google Voice靓号列表Google Voice自助购买
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活