Страница 1 из 1

UART

Добавлено: 17 сен 2015, 13:32
RusSanya
Неплохо бы добавить индекс переменной в блоке ОТПРАВКА ПЕРЕМЕННОЙ В UART, по аналогии с блоком ПРИЕМ ПЕРЕМЕННОЙ ИЗ UART

UART

Добавлено: 17 сен 2015, 17:49
dekorator
Индекс там автоматом добавляется, в порядке добавления в проект.

UART

Добавлено: 18 сен 2015, 07:32
RusSanya
Это все понятно,а вот если мне нужно добавить определенный индекс, чтоб не переделывать весь проект.

UART

Добавлено: 19 сен 2015, 01:40
dekorator
Да, понятно. Имхо, это уже косметика, тем более что это можно с лёгкостью сделать на стороне приёма. Конечно универсальность блоков это очень хорошо. Я только ЗА!

UART

Добавлено: 10 фев 2016, 21:10
Pratak
dekorator писал(а):тем более что это можно с лёгкостью сделать на стороне приёма.
Ну это видимо для посвященных. Я всю голову поломал как сделать так что бы при отправке скажем команды 25 в сериал монитор на компе, загорался светодиод на пине 13. Програмно получается, а вот реализовать в блок-схеме FLProg не могу(. Юзал поиск по форуму с тегом UART. Никакого результата мои эксперименты (потуги) не дали. Ноль.

UART

Добавлено: 10 фев 2016, 21:18
dekorator
Скажите мне по секрету, обещаю молчать Изображение . Что за команда - 25?

UART

Добавлено: 11 фев 2016, 02:40
rw6cm
Pratak писал(а):Я всю голову поломал как сделать так что бы при отправке скажем команды 25 в сериал монитор на компе, загорался светодиод на пине 13. Програмно получается, а вот реализовать в блок-схеме FLProg не могу
Не совсем понял суть вопроса, что именно не получается?

UART

Добавлено: 11 фев 2016, 12:06
Pratak
dekorator писал(а):Скажите мне по секрету, обещаю молчать . Что за команда - 25?
Никакого секрета нет. Просто константа из головы))
rw6cm писал(а):Не совсем понял суть вопроса, что именно не получается?
Спасибо добрый человек за предоставленный пример.

Из него я понял что не получается у меня понять механизм работы блоков между RessFromUart и Switch. Однако направление курения мануалов выявлено, жаль правда что на просторах инета мало руководств по использованию FLProg для таких нубасов как я  Изображение .

UART

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

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

UART

Добавлено: 11 фев 2016, 21:40
Pratak
Спасибо большое за труд и терпение! Вот это да! По полочкам все тонкости и нюансы, понятным для мало посвященных языком! БРАВО!!!
Мануалы писать не пробовали? Думаю если излагать учебный материал в подобном стиле - успех гарантирован.
Еще раз спасибо за исчерпывающее описание процесса.