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

Вопросы от новичков
Ответить
AndrejK
Сержант
Сообщения: 120
Зарегистрирован: 20 фев 2020, 13:16
Откуда: Вильнюс
Имя: Андрей

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

Сообщение AndrejK »

С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Утвш
Сержант
Сообщения: 148
Зарегистрирован: 02 дек 2016, 07:31
Благодарил (а): 2 раза

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

Сообщение Утвш »

Это что, плата сама себе посылает?
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

AndrejK писал(а): 25 ноя 2021, 20:25 С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
Зачем я это скачал? Что не так?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
AndrejK
Сержант
Сообщения: 120
Зарегистрирован: 20 фев 2020, 13:16
Откуда: Вильнюс
Имя: Андрей

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

Сообщение AndrejK »

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

Отправлено спустя 5 минут 31 секунду:
Sancho писал(а): 27 ноя 2021, 09:32 Зачем я это скачал? Что не так?
Ввел цифры, нажал энтер и ничего, пусто...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

AndrejK писал(а): 25 ноя 2021, 20:25 С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
AndrejK писал(а): 27 ноя 2021, 18:05 Ввел цифры, нажал энтер и ничего, пусто...
Теперь Вас понял.
Поясню.
При обмене переменными есть существенные отличия по сравнению с простым uart.
Когда передаёте , например, байт в виде переменной, в придачу передаётся несколько дополнительных данных, по которым другой мк опознаёт, чего это за переменная такая, что-бы отличить её от других.
Поэтому Ваш простой тест не прокатит в данном случае.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

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

Сообщение aidar_i »

Нужно просто соединить разные МК между собой rx-tx и tx-rx. И передавать друг другу .
AndrejK
Сержант
Сообщения: 120
Зарегистрирован: 20 фев 2020, 13:16
Откуда: Вильнюс
Имя: Андрей

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

Сообщение AndrejK »

О как! Как же тогда принять переменную из UART, допустим 123456789, и, допустим, записать ее в EEPROM, прочитать EEPROM и отправить в UART.
Вижу логику таким образом, но ничего не вывело.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3169
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 239 раз
Поблагодарили: 128 раз

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

Сообщение Phazz »

[ref]AndrejK[/ref], должен быть завершающий символ например перенос строки. И по нему нужно делать сброс накопления
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение support »

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

Отправлено спустя 2 минуты 7 секунд:
Если есть желание обойтись без второго контроллера, можете во встроеной скаде нарисовать экранчик с одним полем ввода, и передавать переменную оттуда (во всторенной скаде этот формат поддерживается)
Автор программы FLProg.
AndrejK
Сержант
Сообщения: 120
Зарегистрирован: 20 фев 2020, 13:16
Откуда: Вильнюс
Имя: Андрей

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

Сообщение AndrejK »

Спасибо за помощь.
Чуток изменил скетч и вот,что получилось. Предположу, что этими переменными можно оперировать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

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

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

Сообщение AndrejK »

Моя идея/задача состоит в том, чтобы, допустим забили в контроллер ESP32 Cam с ее функционалом, все, кроме длинной строки Телеграмм-бота и цифровыми идентификаторами Телеграмм пользователя. Далее, просто подключаем уже залитый МК к COM порту, вбиваем недостающее, записываем это в EEPROM. Надо что-то поменять или добавить, подключаем меняем/добавляем.
Или я слишком углубился и все можно сделать проще?
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

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

Сообщение support »

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

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

Сообщение MM33 »

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

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

Сообщение Vict »

Уважаемые, подскажите пожалуйста максимальную длину строки в string которая может быть отправлена и получена блоком отправка переменной в юарт. Никак не могу добиться передачи сообщения с одного arduino на другой более примерно 55 знаков. При отправке бОльшего значения -отрезается часть сообщения. Подозреваю что в юарт существует некоторая память которая переполняется. При разбивке сообщения на передаче на несколько блоков, дело существенно не меняется. Может быть кто-нибудь сталкивался, как обойти этот момент ограничения .
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

[ref]Vict[/ref], Попробуй поменять размер буфера через блок
UART_Buffer_(Code_-_Basic).ubi
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Vict
Рядовой
Сообщения: 11
Зарегистрирован: 24 янв 2021, 00:34
Откуда: СПб
Имя: Виктор

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

Сообщение Vict »

Не подскажите, какой размер буфера по умолчанию.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

Vict писал(а): 24 дек 2021, 12:24 Не подскажите, какой размер буфера по умолчанию.
Для 328 - по 64 байта.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
maagalex
Рядовой
Сообщения: 1
Зарегистрирован: 29 июл 2020, 17:57
Имя: Alex

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

Сообщение maagalex »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость