示例#1
0
        /// <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);
            }
        }