Что не так? Com порты - C#
Формулировка задачи:
Для начала хочу, чтобы байты просто отправлял по ком порту ( отправляться должны на электронные часы, подключённые к компу). Кто разбирается, дайте как можно больше инфы и скажите как просматривать полученные байты через процедуру private void button2_Click
private void button1_Click(object sender, EventArgs e) { string[] portnames = SerialPort.GetPortNames(); SerialPort port = new SerialPort( "COM1" , 9600, Parity.None, 8, StopBits.One); port.Open(); byte[] data = { 0, 1, 2, 1, 0 }; port.Write(data, 0, data.Length); port.Close(); } private void button2_Click(object sender, EventArgs e) { string[] portnames = SerialPort.GetPortNames(); SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One); port.Open(); byte[] data = new byte[256]; port.Read(data, 0, data.Length); int databyte = port.ReadByte(); port.Close(); }
Решение задачи: «Что не так? Com порты»
textual
Листинг программы
void OnDataReceived(object sender, SerialDataReceivedEventArgs e) { if (e.EventType == SerialData.Eof) return; var port = sender as SerialPort; var bytes = new byte[8]; // Вместо 8 — размер входящего сообщения в байтах. int read = 0; do read = port.Read(bytes, read, bytes.Length - read); while (read < bytes.Length); label.Text = Encoding.ASCII.GetString(bytes); // Вместо ASCII — кодировка, в которой отсылает данные устройство. }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д