【问题标题】:C# Serial Port Sending Un-receivable dataC# 串口发送不可接收的数据
【发布时间】:2013-09-13 14:26:51
【问题描述】:

我在 Windows 8 上使用 .Net Framework 4,并且遇到了一个非常奇怪的串行端口问题。

我可以通过串口接收数据,但是当我从同一个串口发送数据时,非常标准的终端仿真器无法接收到数据(H.我看到发送端口的 TX LED 亮起,并且RX LED 从接收端口亮起,但仍不显示任何接收到的文本。

出于什么原因,接收端口无法获取/解释/无论是什么流?

我正在尝试发送字符串:“0300” 作为 4 字节字节数组:30-33-30-30

使用以下代码行:

comm.Write(arrayToSend, 0, arrayToSend.Length);

这是调试中 COM 端口配置的照片:

如果您有任何有用的见解,请告诉我:D

谢谢, - 马特

【问题讨论】:

  • 可能是电气问题,您需要一根零调制解调器电缆。或者您使用的程序正在关注硬件握手线,就像它应该的那样。这是经典被忽视的,太多的程序员选择 Handshake.None。然后,您必须自己将 DtrEnable 和 RtsEnable 属性设置为 true。
  • 哈哈!我想你可能是对的。我正在使用一些以前工作过的时髦的自制连接器。我现在使用的电缆仅使用 TX、RX 和 GND,并且似乎可以正常工作。我认为我之前使用的连接器使控制线处于不良状态。

标签: c# serial-port


【解决方案1】:

我认为你需要

comm.Flush();

您的数据。

【讨论】:

  • 感谢您的意见,但我很确定 Hans Passant 的建议解决了我的问题 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 2014-09-20
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多