在此先感谢您的帮助。我正在编写一个轻量级 C# 程序来将行写入串口(向 PLC 发送命令)以供工作,我不是程序员。我的问题是我的按钮不会将线路发送到串口。这是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
string command = "Turn Motor";
SerialPort COM1 = new SerialPort("COM1");
public Form1() {
InitializeComponent();
COM1.Open();
}
private void button1_MouseClick(object sender, MouseEventArgs e) {
COM1.WriteLine(command);
}
}
我该怎么做才能让 button1 单击时将文本行发送到串口?代码必须尽可能简单,因为它只在一个工作站上运行。我查看了所有示例,但无法使它们适应我的代码。我也不想公然抄袭别人的代码来让它工作。任何意见,将不胜感激。
编辑:上面的代码并不是全部,例如我正在正确初始化端口。我有另一段代码可以正确接收和处理字符串,它只是我遇到问题的发件人。我还使用窗体设计器创建了按钮方法,因此那里应该没有断开连接。
最佳答案
看起来您没有初始化您的 Com 端口。你需要设置你的 BaudRate
, Parity
, DataBits
, StopBits
和 Handshake
属性(property)的。查看上面的 MSDN 示例以获取指导。您可以单独设置属性或在构造函数中设置它们。
根据 MSDN,上述属性的默认值为:
- BuadRate = 9600
- 奇偶校验 = Parity.None
- 数据位 = 8
- 停止位 = StopBits.One
- 握手 = HandShake.None
关于c# - 用 C# 向串口发送写入命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7701061/