我开发了使用C#.Net从称重桥机器获得重量的应用程序。我正在尝试很多方法但是,没有从称重桥机读取正确的数据格式重量。我得到像
这样的输出00000001Kg00000001B00000001B00000001B00000001B00000001B00000001B00000001B
不断从串口获取。我想从称重桥机获得重量我的代码如下:
private void Form1_Load(object sender, EventArgs e)
{
string[] portNames = SerialPort.GetPortNames();
foreach (var portName in portNames)
{
comboBox1.Items.Add(portName);
}
comboBox1.SelectedIndex = 0;
}
private void button1_Click(object sender, EventArgs e)
{
if (_serialPort != null && _serialPort.IsOpen)
_serialPort.Close();
if (_serialPort != null)
_serialPort.Dispose();
_serialPort = new SerialPort(comboBox1.Text, BaudRate, Parity.None, 8, StopBits.One);
_serialPort.DataReceived += SerialPortOnDataReceived;
_serialPort.Open();
textBox1.Text = "Listening on " + _serialPort.PortName + "...\r\n";
}
private delegate void Closure();
private void SerialPortOnDataReceived(object sender, SerialDataReceivedEventArgs serialDataReceivedEventArgs)
{
if (InvokeRequired)
BeginInvoke(new Closure(() => { SerialPortOnDataReceived(sender, serialDataReceivedEventArgs); }));
else
{
int dataLength = _serialPort.BytesToRead;
byte[] data = new byte[dataLength];
int nbrDataRead = _serialPort.Read(data, 0, dataLength);
if (nbrDataRead == 0)
return;
string str = System.Text.Encoding.UTF8.GetString(data);
textBox1.Text += str.ToString();
}
}
我怎样才能将重量保存到我的数据库中?为了获得正确的重量,它必须像
00000001公斤
实时根据体重秤重新改变。
答案 0 :(得分:0)
您的最后一行代码只是将所有内容附加到文本框中。您可能希望事先清除它,也可以尝试检查您收到的数据是否是不受欢迎的字符串(00000001B
)并且不要添加它。
要记录数据,您可以使用文本框的TextChanged
事件......只是一个想法......