BS_good200xy 发表于 2021-6-18 12:54:52

请教readfile读串口数据,读一段时间就无法读到数据 的问题

最近碰到用BCB编写的调用winapi进行串口读写,用readfile读串口数据,读一段时间就无法读到数据 的问题。
不知大家有没有碰到这种问题,请指教解决的方法,谢谢!

vtte 发表于 2021-6-18 13:11:19

是不是usb转出来的串口?换个原生的试一下。

norman33 发表于 2021-6-18 13:24:20

2012年了还在用bcb啊,bcb公司都倒闭了,而且那么多年不维护已经不合适现在的操作系统了,改C#吧

BS_good200xy 发表于 2021-6-18 13:36:06

vtte 发表于 2021-6-18 13:11
是不是usb转出来的串口?换个原生的试一下。

是的,pl2303 usb转ttl。原生的现在都比较难找了。

比较奇怪的是,当发生这种不良现象时,writefile发送数据是正常的。
而且关掉应用程序,用串口助手测试,该串口也是只能发送,不能接收数据了。拔插一下USB就恢复正常读写了。

BS_good200xy 发表于 2021-6-18 13:40:48

norman33 发表于 2021-6-18 13:24
2012年了还在用bcb啊,bcb公司都倒闭了,而且那么多年不维护已经不合适现在的操作系统了,改C#吧 ...

老的程序其它部分用的BCB编写。要改工作量比较大。只是想增加串口通信功能。
在同一台电脑上用C#模拟串口通信,功能都正常。

redroof 发表于 2021-6-18 13:41:59

BS_good200xy 发表于 2021-6-18 13:36
是的,pl2303 usb转ttl。原生的现在都比较难找了。

比较奇怪的是,当发生这种不良现象时,writefile发送 ...

岀错的时候,用串口调试器试了也是一样的错,那就明显跟你的编程语言无关啊。
换个usb转串口芯片呗,现在是pl2303,可以换ch340或者最贵的ft232
我们所有长时间运行的usb转串口全是用ft232的,稳定性很好。

BS_good200xy 发表于 2021-6-18 13:42:48

用C#写串口通信,再用BCB调用不知能否可行?

t3486784401 发表于 2021-6-18 13:51:29

PL2303 就是不稳定的代名词。

无论后续出多少 -X -HX -HHX -XXX,不稳定就是不稳定,早期多少蓝屏都是这玩意搞的鬼。

norman33 发表于 2021-6-18 13:53:32

BS_good200xy 发表于 2021-6-18 13:42
用C#写串口通信,再用BCB调用不知能否可行?

标准DLL应该可以,但是BCB太过远古,起码也要用现在的CB来做吧,宝蓝公司棺材板都封死了

brother_yan 发表于 2021-6-18 16:56:27

不要用pl2303

BS_good200xy 发表于 2021-6-18 17:03:31

换CH340C 和 CH340G都没问题了。确实跟USB转串口的芯片质量有关。第一次碰到。看来以后选用这类芯片要注意一点了。

wye11083 发表于 2021-6-18 18:14:05

t3486784401 发表于 2021-6-18 13:51
PL2303 就是不稳定的代名词。

无论后续出多少 -X -HX -HHX -XXX,不稳定就是不稳定,早期多少蓝屏都是这玩 ...

蓝屏是驱动搞的鬼。。确实渣,win7大数据量传一晚上必蓝。而且故意限制驱动程序失效。

t3486784401 发表于 2021-6-18 19:10:28

wye11083 发表于 2021-6-18 18:14
蓝屏是驱动搞的鬼。。确实渣,win7大数据量传一晚上必蓝。而且故意限制驱动程序失效。 ...

正版的 340G 我做连续测试,48h 不间断传输,没蓝屏没丢包;于是对 340G 的印象一直不错。

唯一缺点是 USB 插头接触不良后,需要重新拔插 340G 才能继续建立串口连接。
页: [1]
查看完整版本: 请教readfile读串口数据,读一段时间就无法读到数据 的问题