Ошибка открытия COM порта "неверно задан параметр" - C#
Формулировка задачи:
Вот текст программы
Проект компилируется. при нажатии кнопки (button7) выдается ошибки на строчке _SerialPort1.Open(); пишет что неверно задан параметр.
никак не пойму какой параметр задан неверно
public partial class Form1 : Form { SerialPort _SerialPort1 = new SerialPort("COM1", 128000, Parity.None, 8, StopBits.One); //инициалаизация порта string[] portsName; public Form1() { InitializeComponent(); } private void button7_Click(object sender, EventArgs e) { if (_SerialPort1.IsOpen == false) { _SerialPort1.ReceivedBytesThreshold = 4; _SerialPort1.ReadTimeout = 5000; _SerialPort1.Encoding = System.Text.Encoding.Default; portsName = SerialPort.GetPortNames(); comboBox1.Items.AddRange(portsName); //записать список портов в Комбокс // дублирую параметры объявления. т.к. пробовал просто объявлять SerialPort _SerialPort1 = new SerialPort(); ошибка та же самая _SerialPort1.PortName = portsName[0];//значение portsName[0] - COM1 _SerialPort1.BaudRate = 128000; _SerialPort1.DataBits = 8; _SerialPort1.StopBits = StopBits.One; try { _SerialPort1.Open(); } catch (InvalidCastException) { } if (_SerialPort1.IsOpen == true) { button5.Enabled = true; button6.Enabled = true; } } } }
Решение задачи: «Ошибка открытия COM порта "неверно задан параметр"»
textual
Листинг программы
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { rx_string = serialPort1.ReadExisting(); // serialPort1.Read(rxByte, 0, 7); if (rxByte[0] == 0x49) { if (rxByte[2] == 2) depth = depth + 1 * reverse; else depth = depth - 1 * reverse; serialPort1.DiscardInBuffer(); this.Invoke(new EventHandler(readPort)); } else serialPort1.DiscardInBuffer(); this.Invoke(new EventHandler(readPort)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д