FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Пятница, 09.12.2016, 06:49
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Новый функционал » Новые » UART (работа с com-портом)
UART
RusSanya
Дата: Четверг, 17.09.2015, 13:32 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Неплохо бы добавить индекс переменной в блоке ОТПРАВКА ПЕРЕМЕННОЙ В UART, по аналогии с блоком ПРИЕМ ПЕРЕМЕННОЙ ИЗ UART
 
dekorator Дата: Четверг, 17.09.2015, 17:49 | Сообщение # 2
Подполковник
Группа: Проверенные
Сообщений: 219
Награды: 10
Репутация: 1
Статус: Offline
Индекс там автоматом добавляется, в порядке добавления в проект.
 
RusSanya Дата: Пятница, 18.09.2015, 07:32 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Это все понятно,а вот если мне нужно добавить определенный индекс, чтоб не переделывать весь проект.
 
dekorator Дата: Суббота, 19.09.2015, 01:40 | Сообщение # 4
Подполковник
Группа: Проверенные
Сообщений: 219
Награды: 10
Репутация: 1
Статус: Offline
Да, понятно. Имхо, это уже косметика, тем более что это можно с лёгкостью сделать на стороне приёма. Конечно универсальность блоков это очень хорошо. Я только ЗА!
 
Pratak Дата: Среда, 10.02.2016, 21:10 | Сообщение # 5
Лейтенант
Группа: Проверенные
Сообщений: 102
Награды: 3
Репутация: 0
Статус: Offline
Цитата dekorator ()
тем более что это можно с лёгкостью сделать на стороне приёма.

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


В сентябре 2016 года ушел в море месяцев на шесть. Не скучайте без меня)

 
dekorator Дата: Среда, 10.02.2016, 21:18 | Сообщение # 6
Подполковник
Группа: Проверенные
Сообщений: 219
Награды: 10
Репутация: 1
Статус: Offline
Скажите мне по секрету, обещаю молчать cool . Что за команда - 25?
 
rw6cm Дата: Четверг, 11.02.2016, 02:40 | Сообщение # 7
Генерал-майор
Группа: Проверенные
Сообщений: 479
Награды: 43
Репутация: 32
Статус: Offline
Цитата Pratak ()
Я всю голову поломал как сделать так что бы при отправке скажем команды 25 в сериал монитор на компе, загорался светодиод на пине 13. Програмно получается, а вот реализовать в блок-схеме FLProg не могу
Не совсем понял суть вопроса, что именно не получается?
Прикрепления: SetUART25.flp(89Kb)


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)
 
Pratak Дата: Четверг, 11.02.2016, 12:06 | Сообщение # 8
Лейтенант
Группа: Проверенные
Сообщений: 102
Награды: 3
Репутация: 0
Статус: Offline
Цитата dekorator ()
Скажите мне по секрету, обещаю молчать . Что за команда - 25?

Никакого секрета нет. Просто константа из головы))

Цитата rw6cm ()
Не совсем понял суть вопроса, что именно не получается?

Спасибо добрый человек за предоставленный пример.

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


В сентябре 2016 года ушел в море месяцев на шесть. Не скучайте без меня)



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

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


PC, E8400, 3.5Gb, Win7-32, ver.FLP(portable)

Сообщение отредактировал rw6cm - Четверг, 11.02.2016, 18:18
 
Pratak Дата: Четверг, 11.02.2016, 21:40 | Сообщение # 10
Лейтенант
Группа: Проверенные
Сообщений: 102
Награды: 3
Репутация: 0
Статус: Offline
Спасибо большое за труд и терпение! Вот это да! По полочкам все тонкости и нюансы, понятным для мало посвященных языком! БРАВО!!!
Мануалы писать не пробовали? Думаю если излагать учебный материал в подобном стиле - успех гарантирован.
Еще раз спасибо за исчерпывающее описание процесса.


В сентябре 2016 года ушел в море месяцев на шесть. Не скучайте без меня)

 
Форум » Новый функционал » Новые » UART (работа с com-портом)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика