Pratak писал(а):Из него я понял что не получается у меня понять механизм работы блоков между RessFromUart и Switch.
Попробую разложить этот момент.
Когда приходится парсить инфу идущую через UART, нужно помнить, что информация принимается по символьно.
Из этого понятно, что проще всего, выдернуть нужное число из потока однозначных цифр.
Для этого достаточно всего два элемента UART и допустим CompareString.
Если же число не однозначное, то уже нужно в UART включать накопление буфера, а следовательно и придумывать механизм его управления.
Если известно, что числа будут только допустим двухзначные, то сложности особой нет.
Достаточно поставить счетчик который будет после каждого второго знака сбрасывать себя и заодно буфер.
Само сложно когда информация разная, и по количеству знаков в числе/слове, и по скорости/интервалу передачи.
В вашем посте было не понятно, что это за цифра 25, - цифра из потока разносортицы, или единственная в своем роде команда.
Чтобы не играть в "что-где-когда" выложил сразу первый вариант.
И так нам нужно двухзначное число 25 из разносортицы. С помощью счетчика делаем буфер на 2 знака.
Но этого мало, так как последовательное чередование цифр 2 и 5 может использоваться во многих числах,
если к примеру придет число 2525, оно прочитается как 2 раза по 25. Следовательно все числа больше 2х знаков надо отсечь. Используем Switch.
Но есть и однозначные цифры! Так если придет два числа, допустим 2 за ним 525.
Произойдет следующие, придет 2ка, но счетчик останется открытым, дождется следующего числа, отрежет от него 5ку, и опять "ложная сработка" )))
Здесь применена не большая хитрость. Счетчик не сбрасывает не себя не буфер, а сбрасывает их таймер, на который возложено две задачи,
не давать сброс счетчика пока не пройдет длинное число, и сбрасывать если пришло короткое.
Конечно это не прокатит, если плотность и скорость потока будет большая, просто не реально будет настроить таймер так, чтобы он успевал пропустить длинное число, и в тоже время не обрезать идущее за ни короткое, тогда уже надо будет делать вынос мозга под другую логику

))
п/с Модераторы, переместите последние посты в соответствующую
тему.
Не доглядел, что здесь "хотелки".