SerialPortj简单例子--发送AT指令,返回AT OK

简单serialPort例子,发送AT/r,serialPort1_DataReceived 返回AT OK,一直以为向串口发送AT时返回OK,实际上返回的是AT/r/r/r/r/Ok/r.

 

 

 

serialPort serailPort1=new serialPort(); serialPort1.PortName = "COM31"; serialPort1.BaudRate = 115200; serialPort1.Handshake = Handshake.None; serialPort1.DataBits = 8; serialPort1.StopBits = StopBits.One; serialPort1.Parity = Parity.None; serialPort1.ReceivedBytesThreshold = 1; serialPort1.WriteTimeout = SerialPort.InfiniteTimeout; serialPort1.ReadTimeout = SerialPort.InfiniteTimeout; serialPort1.Open(); if(serialPort1.IsOpen()) { byte[] data = Encoding.ASCII.GetBytes("AT/r"); serialPort1.Write(data, 0, data.Length); } private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { byte[] data = new byte[serialPort1.BytesToRead]; serialPort1.Read(data, 0, data.Length); string rs = Encoding.ASCII.GetString(data); Log(rs); } private void Log(string text) { textBox1.Invoke(new EventHandler(delegate { textBox1.AppendText( text + "/r/n"); })); }

你可能感兴趣的:(C#)