Реализация двунаправленного кольца на COM портах - C#

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

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

Необходимо реализовать двунаправленное кольцо на COM портах Кадр состоит из следующих полей: Стартовый байт Адрес отправителя Адрес получателя Тип кадра Длинна поля данных Данные Стоповый байт Проблема в том, что иногда не все данные приходят или приходят сразу оба кадра Как проверят готовность COM порта к принятию данных? Как внутри буфера определить где начало, а где конец кадра?

Решение задачи: «Реализация двунаправленного кольца на COM портах»

textual
Листинг программы
List<byte> InputBuffer;
...
try
{
InputBuffer.Add(serialPort1.BaseStream.ReadByte());
if(WantLength(InputBuffer)>=InputBuffer.Length)
{
//принят полный пакет
}
}
catch(TimeOutException e)
{
//время на принятие пакета истекло
}
...
int WantLength(List<byte> buffer)
{
if (buffer.Length<=5)
return int.MaxValue;
return (buffer[5]+6);
}

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


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

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

11   голосов , оценка 4.091 из 5
Похожие ответы