![](/img/trans.png)
[英]How do I use dataReceived event of the SerialPort Port Object in C#?
[英]How do I use dataReceived event of the SerialPort in C#
我有一个应用程序可以从串行端口 c# 中检索 EXA 品牌秤的数据。 我想做同样的事情,但这次是另一个品牌 KERN PFB,问题是 SerialDataReceivedEventHandler 事件永远不会执行。 我不知道我在这里错过了什么。
我试过这个: 如何在 C# 中使用 SerialPort 端口对象的 dataReceived 事件?
public static SerialPort mySerialPort = new SerialPort("COM1");
public static string indata = string.Empty;
public static void SetSetting()
{
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.RtsEnable = true;
mySerialPort.DataReceived += MySerialPort_DataReceived;
}
public static void MySerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
indata += sp.ReadExisting();
}
public static float GetPesage()
{
indata = string.Empty;
mySerialPort.Open();
Thread.Sleep(1000);
string[] dataSplited = indata.Trim().Split(' ');
float poids = 0;
//
...
//
mySerialPort.Close();
return poids;
}
我希望收到数据但没有收到。
谢谢你。
Command S : Stable weighing value for the weight is sent via the interface
public static float GetPesage()
{
indata = string.Empty;
mySerialPort.Open();
mySerialPort.Write("s");
Thread.Sleep(1000);
string[] dataSplited = indata.Trim().Split(' ');
float poids = 0;
//
...
//
mySerialPort.Close();
return poids;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.