Лишние байты при передаче через COM-порт - C#

Узнай цену своей работы

Формулировка задачи:

Возник такой вопрос. Мне нужно от компьютера передавать команды устройству. Есть жесткий протокол, но я наткнулся на проблему. Есть такая функция

SerialPort.Write(Char[], Int32, Int32)

которая передает в порт массив символов. В принципе мне это и надо, но есть одно жирное но. С какого-то перепугу после передачи последнего символа вдогонку лезут 0x41 и 0x0A. И из-за этого весь протокол рушится. Как можно победить эту заразу. Программу в устройстве для отсекания этих символов поправить нельзя.

Решение задачи: «Лишние байты при передаче через COM-порт»

textual
Листинг программы
  1. for (int i = 0; i < Comanda.Text.Length; i++) // Здесь я перекидываю из string[] в char[]
  2.     {
  3.         Byte_Out[i] = Convert.ToChar(Comanda.Text[i]);
  4.     }
  5.  
  6. serialPort1.Write(Byte_Out, 0, Comanda.Text.Length); // А это отправка

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы