private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { int len = serialPort1.BytesToRead; if (len == 0) { return; //没有接收到数据,退出 } byte[] receiveMsg = new byte[len]; serialPort1.Read(receiveMsg, 0, len); //RTKLocation.GetInstance().Latitude = receiveMsg[3]; WriteToRecTextBox(serialPort1.PortName + ":" + GeneralConver.ToHexString(receiveMsg)); }
}//刷新屏幕 #endregion #region 串口发送函数 #region IO模块发送函数(串口1) private void Serial1PcToMcu(BSDB232 msg) { arrMotor[0] = msg.ID; arrMotor[1] = msg.CMD; arrMotor[2] = msg.AddrH; arrMotor[3] = msg.AddrL; arrMotor[4] = msg.ErrR; arrMotor[5] = msg.Dat1; arrMotor[6] = msg.Dat2; arrMotor[7] = msg.Dat3; arrMotor[8] = msg.Dat4; for (int i = 0; i < arrMotor.Length - 1; i++) { msg.Check += arrMotor[i]; } arrMotor[9] = msg.Check;; serialPort1.Write(arrMotor, 0, 10); WriteToSendTextBox(serialPort1.PortName + ":" + GeneralConver.ToHexString(arrMotor)); }