我用串口调试工具,能看到数据大概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啊
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。
评论前必须登录!
立即登录 注册