/// /// 设置主板参数 /// /// /// private void button17_Click(object sender, EventArgs e) { //发送数据 if (!sp1.IsOpen) //如果没打开 { MessageBox.Show("请先打开串口!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } byte[] bytes = new byte[100]; byte[] dstr = new byte[100]; int len = 0; int i = 0; int addr = 0; String str = textBox15.Text; addr = Convert.ToInt16(str) * 0x100; str = textBox16.Text; dstr = new byte[str.Length / 2]; for (i = 0; i < dstr.Length; i++) { dstr[i] = Convert.ToByte(str.Substring(i * 2, 2), 16); } addr += Convert.ToInt16(dstr[0]);//地址 //addr = Convert.ToInt16(txtS23.Text) * 0x100 + Convert.ToInt16(txtS24.Text); dstr = System.Text.Encoding.Default.GetBytes(comboBox4.Text); for (i = 0; i < comboBox4.Text.Length; i++) { bytes[i] = dstr[i]; } len = comboBox4.Text.Length; dstr = System.Text.Encoding.Default.GetBytes(textBox19.Text); for (i = 0; i < textBox19.Text.Length; i++) { bytes[len + i] = dstr[i]; } len += textBox19.Text.Length; bytes[len + 0] = Convert.ToByte(comboBox3.SelectedIndex); len += 1; bytes[len + 0] = Convert.ToByte(comboBox1.SelectedIndex); len += 1; dstr = System.Text.Encoding.Default.GetBytes(textBox20.Text); bytes[len + 0] = (byte)((dstr[0] - 0x30) << 4); bytes[len + 0] |= (byte)(dstr[1] - 0x30); bytes[len + 1] = (byte)((dstr[2] - 0x30) << 4); bytes[len + 1] |= (byte)(dstr[3] - 0x30); len += 2; dstr = System.Text.Encoding.Default.GetBytes(textBox18.Text); bytes[len + 0] = (byte)((dstr[0] - 0x30) << 4); bytes[len + 0] |= (byte)(dstr[1] - 0x30); bytes[len + 1] = (byte)((dstr[2] - 0x30) << 4); bytes[len + 1] |= (byte)(dstr[3] - 0x30); len += 2; //addr = Convert.ToByte(txtS23.Text); //addr <<= 8; //addr += Convert.ToByte(txtS24.Text); //整理数据 bytes = GetData(bytes, 0xF1C5, addr, len); len = len + 0x0b + 1; String str2 = ListbyteToHexStr(bytes, len); sp1.Write(bytes, 0, len); //写入数据 if (txtReceive.Text.Trim() == "") { txtReceive.Text = "发送:" + str2 + System.Environment.NewLine; } else { txtReceive.Text = txtReceive.Text + System.Environment.NewLine + "发送:" + str2 + System.Environment.NewLine; } txtReceive.Focus(); txtReceive.SelectionStart = txtReceive.TextLength; }