UART

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Ответить
RusSanya
Рядовой
Сообщения: 15
Зарегистрирован: 14.09.2015{, 15:17}
Репутация: 0

UART

#1

Сообщение RusSanya » 17.09.2015{, 13:32}

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

Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

UART

#2

Сообщение dekorator » 17.09.2015{, 17:49}

Индекс там автоматом добавляется, в порядке добавления в проект.

RusSanya
Рядовой
Сообщения: 15
Зарегистрирован: 14.09.2015{, 15:17}
Репутация: 0

UART

#3

Сообщение RusSanya » 18.09.2015{, 07:32}

Это все понятно,а вот если мне нужно добавить определенный индекс, чтоб не переделывать весь проект.

Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

UART

#4

Сообщение dekorator » 19.09.2015{, 01:40}

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

Аватара пользователя
Pratak
Сержант
Сообщения: 206
Зарегистрирован: 08.02.2016{, 20:21}
Репутация: 6
Имя: Дмитрий

UART

#5

Сообщение Pratak » 10.02.2016{, 21:10}

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

Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

UART

#6

Сообщение dekorator » 10.02.2016{, 21:18}

Скажите мне по секрету, обещаю молчать Изображение . Что за команда - 25?

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

UART

#7

Сообщение rw6cm » 11.02.2016{, 02:40}

Pratak писал(а):Я всю голову поломал как сделать так что бы при отправке скажем команды 25 в сериал монитор на компе, загорался светодиод на пине 13. Програмно получается, а вот реализовать в блок-схеме FLProg не могу
Не совсем понял суть вопроса, что именно не получается?
Вложения
SetUART25.flp
(88.54 КБ) 63 скачивания
Win10-64, FLProg (portable)

Аватара пользователя
Pratak
Сержант
Сообщения: 206
Зарегистрирован: 08.02.2016{, 20:21}
Репутация: 6
Имя: Дмитрий

UART

#8

Сообщение Pratak » 11.02.2016{, 12:06}

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

Из него я понял что не получается у меня понять механизм работы блоков между RessFromUart и Switch. Однако направление курения мануалов выявлено, жаль правда что на просторах инета мало руководств по использованию FLProg для таких нубасов как я  Изображение .
Последний раз редактировалось Pratak 11.02.2016{, 12:06}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 335
Имя: Владимир

UART

#9

Сообщение rw6cm » 11.02.2016{, 16:21}

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

п/с Модераторы, переместите последние посты в соответствующую тему.
Не доглядел, что здесь "хотелки".
Последний раз редактировалось rw6cm 11.02.2016{, 18:18}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Аватара пользователя
Pratak
Сержант
Сообщения: 206
Зарегистрирован: 08.02.2016{, 20:21}
Репутация: 6
Имя: Дмитрий

UART

#10

Сообщение Pratak » 11.02.2016{, 21:40}

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

Ответить

Вернуться в «Новые»