C#串口通信问题 求教

103 天前
 Lynntox

我使用 labview 写的是没有问题的,通过串口助手发送产品也有反应

但是在使用 C#就没办法正常通讯

首先 我确认了线是没问题的,串口属性是没问题的 9600-8-n-1

byte[] command = new byte[] { 0xAA, 0x55, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE };

// 发送数据 serialPort.Write(command, 0, command.Length);

就很奇怪

1254 次点击
所在节点    C#
5 条回复
sunmker
99 天前
先打开串口,.open
Lynntox
92 天前
@sunmker 这个肯定是 open 了,写了两个 command ,第一条是没有问题的,第二条就无响应了
hez2010
74 天前
官方文档有句注释:
If there are too many bytes in the output buffer and Handshake is set to XOnXOff then the SerialPort object may raise a TimeoutException while it waits for the device to be ready to accept more data.

检查一下你的 Handshake 设置。
wangybsyuct
27 天前
为什么是两个 command ?一个程序 command 里打开串口,另一个程序 command 是无法再打开这个串口的,独占了,另一个程序也就无法写入数据了。另外一个程序写数据也要间隔多少毫秒再写吓一跳,Write 返回 void ,无法知道是否写成功了。
Lynntox
27 天前
@wangybsyuct 我当时应该是想表达 有几条指令 有一条可以偶发触发 但是有一条就没办法 我当时写测试是间隔 50ms 去写一下 读写我分离去搞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1070931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX