最近做的的一个项目,要用。net读错串口发来的数据,就类似于串口助手接收到数据并显示出来,哪位高手能指点下,有参考代码更佳~
------解决方案--------------------------------------------------------
简单来说就是调用SerialPort.Write方法,然后在DataReceived事件中获取接收到的数据,需要注意的是DataReceived事件不在主线程中,需要使用代理才能在界面上显示出来。
下面这段值得仔细看看。
- C# code
private delegate void d_SetText(string str);private void SetText(string str){ this.textBox1.Text += str;}private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e){ int len = serialPort1.BytesToRead; byte[] buf = new byte[len]; serialPort1.Read(buf, 0, buf.Length); this.Invoke(new d_SetText(SetText), new object[] { System.Text.Encoding.Default.GetString(buf) });}private void button1_Click(object sender, EventArgs e){ serialPort1.Write("这里写串口命令"); //注意有时候需要加Char(13)或者Char(10),具体看通讯协议}
------解决方案--------------------------------------------------------
请参照一下吧,下载实例看看:http://www.shilidata.com/search.aspx?type=&searchid=11055
关于C#中关于串口的监听
http://www.shilidata.com/showtopic-280.aspx
串口通讯System.IO.Ports.Serialport
http://www.shilidata.com/showtopic-182.aspx