首页 > 解决方案 > RS232 串行通信只发送字符串的第一个字符

问题描述

我正在使用 C# 开发一个 Windows 窗体应用程序,该应用程序需要将一串代码(文本)发送到Tanac Coil Winding machine。它通过 25 路 RS-232C 串行端口连接到 Tanac,并通过 USB 连接到Windows PC。电缆看起来像这样

问题是我只能发送一个字符。如果我运行程序,它将发送第一个字符,然后如果我重新启动程序并尝试再次发送字符串,它不会发送任何内容。我必须拔下USB端口并重新插入,然后当我重新运行程序时,它再次将只发送一个字符并停止。

这是代码:

SerialPort com3 = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
com3.Handshake = Handshake.None;
com3.Open();
com3.WriteLine("12345"); // this sends just the first char
//com3.Write("12345"); // this also just sends the first char

注意:我检查了 SerialPort 属性,它们与 COM3 驱动程序详细信息相匹配。

那么有谁知道我的问题可能是什么?我需要发送一个大约 300 个或更少字符的字符串,每个换行符之间平均有大约 4 个字符。

编辑:我不知道这是否有帮助,但 RS232C 电缆连接到 RS232 跳线盒,跳线盒连接到 Tanac 上的 RS232C 端口...

标签: c#winformsserial-port

解决方案


推荐阅读