SerialPort. Отсутствие ответа от конкретного устройства - C#
Формулировка задачи:
Доброго времени суток!
Сложилась такая ситуация
Есть термоизмеритель CENTER 306 на интерфейсе RS-232, подключен через USB-SERIAL, если это важно. Необходимо получать с него температуру. Для начала написал простенький код под WinForms.Проблема в том, что ответа от устройства нет как в программе, так и в сниффере (Serial Port Monitor). Но если ту же команду термоизмерителя отправить из сниффера или PuTTY, то все работает. Саму программу проверял ещё и на Arduino, там все в порядке. Замыкал контакты на RS-232, реакция в программе есть, да и термоизмеритель издает звуковые сигнал на некоторые команды. Настройки передачи выставлены правильно, ReceivedBytesThreshold выставлен единица.
Вот скрины из сниффера для команды "K". Ответ от термоизмерителя "306\r" - модель устройства.
Кто может подсказать, в чем может быть проблема, и, как её решать? Заранее спасибо.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; namespace WindowsFormsApp9 { public partial class Form1 : Form { public Form1() { InitializeComponent(); String[] a = SerialPort.GetPortNames(); for (int i=0; i((a) => { label1.Text = a; }), strBuff); } private void button1_Click(object sender, EventArgs e) { if (serialPort1.IsOpen) serialPort1.Close(); else { initPort(ref serialPort1, comboBox1.Text, 9600, Parity.None, 8, StopBits.One); serialPort1.Open(); } } private void button2_Click(object sender, EventArgs e) { try { serialPort1.Write(textBox1.Text); } catch { label1.Text = "SENDING ERROR"; } } } }
Результаты работы PuTTY
Результаты работы моей программы
Решение задачи: «SerialPort. Отсутствие ответа от конкретного устройства»
textual
Листинг программы
write (new byte[]{0x4b}, 0, 1);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д