/// <summary> /// 写通信波特率 /// </summary> public bool Write_Device_BaudRate(byte[] address, SerialPort sp, int baudrate) { byte tmp = 0; if (baudrate == 600) { tmp = 1; } else if (baudrate == 1200) { tmp = 2; } else if (baudrate == 2400) { tmp = 3; } else if (baudrate == 4800) { tmp = 4; } else if (baudrate == 9600) { tmp = 5; } else if (baudrate == 19200) { tmp = 6; } byte[] _baudRate = CommandMsg.changeBaudRate(address, (byte)CommandMsg.ControlCode.ChangeBaudRate, (byte)CommandMsg.DataFieldLength.ChangeBaudRate, tmp); sp.Write(_baudRate, 0, _baudRate.Length); if (CommandMsg.receive_frame(ref _rcvBuf, sp) == true) { if (_rcvBuf[8] == 0x97) { return(true); } else { return(false); } } else { return(false); } }