Прием переменной из UART и отправка ее туда же.

Прием переменной из UART и отправка ее туда же.

Вопросы от новичков
Ответить
AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

Прием переменной из UART и отправка ее туда же.

#1

Сообщение AndrejK » 25.11.2021{, 20:25}

С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
Вложения
value & UART.flp
(61.09 КБ) 27 скачиваний
value & UART.PNG
value & UART.PNG (8.04 КБ) 867 просмотров

Утвш
Сержант
Сообщения: 129
Зарегистрирован: 02.12.2016{, 07:31}
Репутация: 1

Прием переменной из UART и отправка ее туда же.

#2

Сообщение Утвш » 27.11.2021{, 08:39}

Это что, плата сама себе посылает?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#3

Сообщение Sancho » 27.11.2021{, 09:32}

AndrejK писал(а):
25.11.2021{, 20:25}
С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
Зачем я это скачал? Что не так?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

Прием переменной из UART и отправка ее туда же.

#4

Сообщение AndrejK » 27.11.2021{, 18:00}

Утвш писал(а):
27.11.2021{, 08:39}
Это что, плата сама себе посылает?
Да.Типо эхо.

Отправлено спустя 5 минут 31 секунду:
Sancho писал(а):
27.11.2021{, 09:32}
Зачем я это скачал? Что не так?
Ввел цифры, нажал энтер и ничего, пусто...
Вложения
Value to UART.PNG

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#5

Сообщение Sancho » 27.11.2021{, 19:58}

AndrejK писал(а):
25.11.2021{, 20:25}
С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
AndrejK писал(а):
27.11.2021{, 18:05}
Ввел цифры, нажал энтер и ничего, пусто...
Теперь Вас понял.
Поясню.
При обмене переменными есть существенные отличия по сравнению с простым uart.
Когда передаёте , например, байт в виде переменной, в придачу передаётся несколько дополнительных данных, по которым другой мк опознаёт, чего это за переменная такая, что-бы отличить её от других.
Поэтому Ваш простой тест не прокатит в данном случае.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

aidar_i
Полковник
Сообщения: 3120
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 674
Откуда: Уфа
Имя: Айдар
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#6

Сообщение aidar_i » 27.11.2021{, 20:52}

Нужно просто соединить разные МК между собой rx-tx и tx-rx. И передавать друг другу .

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

Прием переменной из UART и отправка ее туда же.

#7

Сообщение AndrejK » 27.11.2021{, 21:54}

О как! Как же тогда принять переменную из UART, допустим 123456789, и, допустим, записать ее в EEPROM, прочитать EEPROM и отправить в UART.
Вижу логику таким образом, но ничего не вывело.
Вложения
UART to EEPROM to UART.flp
(4.84 МБ) 19 скачиваний
Отправка и запись.PNG
Отправил.PNG

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Прием переменной из UART и отправка ее туда же.

#8

Сообщение Phazz » 27.11.2021{, 23:14}

AndrejK, должен быть завершающий символ например перенос строки. И по нему нужно делать сброс накопления

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#9

Сообщение support » 28.11.2021{, 08:04}

AndrejK писал(а):
27.11.2021{, 21:54}
О как! Как же тогда принять переменную из UART, допустим 123456789, и, допустим, записать ее в EEPROM, прочитать EEPROM и отправить в UART.
Вижу логику таким образом, но ничего не вывело.
Вот смотрите, вы ввели в мониторе 12345678. котроллер поймал строку "12345678". Во первых, откуда он знает что не будет ещё например "9". Второй вопрос у контроллера, "А вообще то, куда это класть?" ведь переменных получаемых из УАРТ может быть много.... И в какую переменную положить принимаемые "12345678". Поэтому при отправке переменной, отправляется целый пакет. В мониторе порта вы вряд ли сможете его собрать. Посмотрите справку на блок ( https://flprog.ru/bez-rubriki/helppage/ ... ableToUart ), там в конце описан формат пакета который передается при отправке переменной. И соответственно если принимаемые данные не соответствуют этому формату, то они отбрасываются.

Отправлено спустя 2 минуты 7 секунд:
Если есть желание обойтись без второго контроллера, можете во встроеной скаде нарисовать экранчик с одним полем ввода, и передавать переменную оттуда (во всторенной скаде этот формат поддерживается)
Автор программы FLProg.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

Прием переменной из UART и отправка ее туда же.

#10

Сообщение AndrejK » 28.11.2021{, 10:00}

Спасибо за помощь.
Чуток изменил скетч и вот,что получилось. Предположу, что этими переменными можно оперировать.
Вложения
pr33.PNG
pr331.PNG
pr33.ino
(1.44 КБ) 19 скачиваний
Res & Send to UART.flp
(76.06 КБ) 26 скачиваний

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#11

Сообщение Sancho » 28.11.2021{, 10:22}

AndrejK писал(а):
28.11.2021{, 10:00}
Спасибо за помощь.
Чуток изменил скетч и вот,что получилось. Предположу, что этими переменными можно оперировать.
Андрей.
Используемый Вами пункт обмена переменными нужен исключительно для того, что-бы два контролера обменивались данными через переменные, как платы в проекте, и не подразумевают вообще использование монитора порта, т.к. обмен идёт в виде чистых байт, а не символов ASCII. Это как пытаться с помощью монитора порта в текстовом режиме увидеть значения обмена по модбасу - пустая затея.
Вы так и не описали задачу, которую решаете, или это эксперименты ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

AndrejK
Сержант
Сообщения: 119
Зарегистрирован: 20.02.2020{, 13:16}
Репутация: 14
Откуда: Вильнюс
Имя: Андрей

Прием переменной из UART и отправка ее туда же.

#12

Сообщение AndrejK » 28.11.2021{, 10:36}

Моя идея/задача состоит в том, чтобы, допустим забили в контроллер ESP32 Cam с ее функционалом, все, кроме длинной строки Телеграмм-бота и цифровыми идентификаторами Телеграмм пользователя. Далее, просто подключаем уже залитый МК к COM порту, вбиваем недостающее, записываем это в EEPROM. Надо что-то поменять или добавить, подключаем меняем/добавляем.
Или я слишком углубился и все можно сделать проще?

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 787
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#13

Сообщение support » 28.11.2021{, 10:42}

AndrejK писал(а):
28.11.2021{, 10:36}
Моя идея/задача состоит в том, чтобы, допустим забили в контроллер ESP32 Cam с ее функционалом, все, кроме длинной строки Телеграмм-бота и цифровыми идентификаторами Телеграмм пользователя. Далее, просто подключаем уже залитый МК к COM порту, вбиваем недостающее, записываем это в EEPROM. Надо что-то поменять или добавить, подключаем меняем/добавляем.
Или я слишком углубился и все можно сделать проще?
Могу только ещё раз предложить собрать во встроенной скаде приложение, с нужным количеством полей ввода, и кнопкой "Записать". Протокол обмена переменными в ней поддерживается.
Автор программы FLProg.

MM33
Рядовой
Сообщения: 41
Зарегистрирован: 23.06.2021{, 11:52}
Репутация: 7
Имя: Михаил

Прием переменной из UART и отправка ее туда же.

#14

Сообщение MM33 » 07.12.2021{, 17:20}

Всем доброго времени суток!
Прошу прояснить следующий вопрос.
Пытаюсь предать переменную типа Byte (8 бит) в монитор порта при помощи стандартного блока "Отправка переменной в UART". В настройках порта - отправлять каждые 100 ms. На экране вижу прочерки с разделителями с заданным тактом. В тоже время, при этих же настройках, переменные типа Integer или Bool передаются без вопросов, с соответствующим отображением .
Это особенность отображения Byte- переменных? Или этот блок не для таких переменных.

Vict
Рядовой
Сообщения: 11
Зарегистрирован: 24.01.2021{, 00:34}
Репутация: 0
Откуда: СПб
Имя: Виктор

Прием переменной из UART и отправка ее туда же.

#15

Сообщение Vict » 24.12.2021{, 00:23}

Уважаемые, подскажите пожалуйста максимальную длину строки в string которая может быть отправлена и получена блоком отправка переменной в юарт. Никак не могу добиться передачи сообщения с одного arduino на другой более примерно 55 знаков. При отправке бОльшего значения -отрезается часть сообщения. Подозреваю что в юарт существует некоторая память которая переполняется. При разбивке сообщения на передаче на несколько блоков, дело существенно не меняется. Может быть кто-нибудь сталкивался, как обойти этот момент ограничения .

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Прием переменной из UART и отправка ее туда же.

#16

Сообщение AlexCrane » 24.12.2021{, 08:25}

Vict, Попробуй поменять размер буфера через блок
UART_Buffer_(Code_-_Basic).ubi
(12.09 КБ) 42 скачивания
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Vict
Рядовой
Сообщения: 11
Зарегистрирован: 24.01.2021{, 00:34}
Репутация: 0
Откуда: СПб
Имя: Виктор

Прием переменной из UART и отправка ее туда же.

#17

Сообщение Vict » 24.12.2021{, 12:24}

Не подскажите, какой размер буфера по умолчанию.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Прием переменной из UART и отправка ее туда же.

#18

Сообщение Sancho » 24.12.2021{, 12:46}

Vict писал(а):
24.12.2021{, 12:24}
Не подскажите, какой размер буфера по умолчанию.
Для 328 - по 64 байта.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
maagalex
Рядовой
Сообщения: 1
Зарегистрирован: 29.07.2020{, 17:57}
Репутация: 2
Имя: Alex

Прием переменной из UART и отправка ее туда же.

#19

Сообщение maagalex » 08.01.2022{, 23:44}

Мне для проекта понадобилось принимать пакеты байт по UART с переменной длиной и чек суммой в конце, причём за один цикл программы..Штатные блоки не подошли, написал и отладил свой, в этом мне очень помог Anatoliy.
Кидаю блок сюда, в нём выбирается номер UART и массив для принимаемых байт, а также способ задания длины, статичный или динамический.
Вход E разрешает извлечение байт из буфера UART системы если он True,
вход N задаёт длину пакета,
выход Next поднимается в True по принятии пакета,
выход CSum выдаёт контрольную сумму (младший байт суммы всех байт в пакете кроме последнего)
выход L выдаёт длину пакета, и она же номер байта с контрольной суммой в архиве.
Максимальная длина пакета 256 байт.
Вложения
UART-Packet_(Code_-_Professional).ubi
(187.01 КБ) 39 скачиваний

Ответить

Вернуться в «Начинающим»