Как отправить данные на Com port? - C#
Формулировка задачи:
День добрый. Нужна ваша помощь. Пытаюсь отправить данные на ком порт и вывести ответ. Отправка получается, байты увеличиваются, а вот с выводом все плохо. Отправляю и на rs232 и на виртуальный порт. Первым способом - время ожидания истекает при попытке вывода, а во втором текст бокс просто обновляется.
Там где закомментировано 1ая и 2ая кнопки - это первый способ. Чуть ниже пытался по второму способу.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; namespace Скад { public partial class Form1 : Form { public Form1() { InitializeComponent(); } SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One); private void Form1_Load(object sender, EventArgs e) { string[] ports; ports = SerialPort.GetPortNames(); comboBox1.Items.AddRange(ports); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (port.IsOpen == false) { port.PortName = comboBox1.Text.ToString(); port.Open(); label1.Text = port.PortName + " Порт подключен"; port.BaudRate = 9600; port.WriteTimeout = 500; port.ReadTimeout = 500; } } private void button1_Click(object sender, EventArgs e) { //1ый //byte[] quest = {10, 04, 00, 52, 00, 01, 93, 0x5a}; //port.Write(quest, 0, quest.Length); //2ой string q = "12345"; port.Write(q); } private void button2_Click(object sender, EventArgs e) { //1ый //byte[] answer = new byte[8]; //port.Read(answer, 0, answer.Length); //textBox2.Text = Convert.ToString(answer); //2ой string s = port.ReadExisting(); textBox2.Text = s; } } } }
А если замкнуть, что бы приходило то, что отправилось то все прекрасно работает
Неужели никто не знает в чем проблема? Кстати отправляет он почему то одни нули
Решение задачи: «Как отправить данные на Com port?»
textual
Листинг программы
byte[] message; ... string answer=""; foreach (byte b in message) answer+=b.ToString("X2").ToUpper()+" "; textBox1.Text = answer.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д