我自己写的C#串口通信,基于winform的
我拿usb转232的串口短接TXD和RXD可以完美通信;
但是我拿下位机向电脑发数据,数据接收框里就不显示;
然后我又用串口短接TXD和RXD发了数据,结果数据接受框里面的出现了直接下位机发送的数据和我刚刚发的数据,求解不明白为什么
private void ComPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
serialPort1.ReceivedBytesThreshold = serialPort1.ReadBufferSize;
string strRecv = serialPort1.ReadLine();
// 处理接收到的数据
char[] temp = strRecv.ToArray();
if (temp[0] == '\n' || temp[0] == '\r')
{
textBox1.AppendText("\n");
}
textBox1.AppendText(strRecv);
}
catch (Exception err)
{
serialPort1.Close();
MessageBox.Show(err.Message);
}
finally
{
serialPort1.ReceivedBytesThreshold = 1;
}
}