现在项目需要读取“继电保护器”里的电流、电压、电功等信息,
采样c#串口读取(协议是103规约),谁做过相应的例子,
从串口读取数据,然后根据协议来解析就行了,
public partial class Form1 : Form
{
private System.IO.Ports.SerialPort serialPort1;
string InputData = String.Empty;
delegate void HandleInterfaceUpdateDelegate(string text); //委托,此为重点
HandleInterfaceUpdateDelegate interfaceUpdateHandle;
public Form1()
{
InitializeComponent();
interfaceUpdateHandle = new HandleInterfaceUpdateDelegate(UpdateTextBox);
this.components = new System.ComponentModel.Container();
this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
this.serialPort1.PortName = "COM3";
this.serialPort1.BaudRate = 9600;
this.serialPort1.StopBits = StopBits.One;
// this.serialPort1.DtrEnable = true;
//this.serialPort1.RtsEnable = true;
}
private void button1_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen){
serialPort1.Close();
serialPort1.Open();
}
else{
serialPort1.Open();
}
serialPort1.WriteLine("SEND:"+textBox1.Text);
this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPort1_DataReceived_1);
this.serialPort1.ReceivedBytesThreshold = 1;
System.Threading.Thread.Sleep(3000);
}
public void serialPort1_DataReceived_1(object sender, SerialDataReceivedEventArgs e)
{
InputData = serialPort1.ReadExisting();
this.Invoke(interfaceUpdateHandle, new object[] { InputData });
}
private void UpdateTextBox(string text)
{
textBox2.Text = text;
}
你确定是com3吗?可以使用com调试助手来帮你从com口接收、发送数据;
类似的例子网上有不少,我不贴代码了