Прием переменной из UART и отправка ее туда же.
Прием переменной из UART и отправка ее туда же.
С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
Что не так? Спасибо.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
Зачем я это скачал? Что не так?AndrejK писал(а): 25 ноя 2021, 20:25 С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Прием переменной из UART и отправка ее туда же.
Да.Типо эхо.
Отправлено спустя 5 минут 31 секунду:
Ввел цифры, нажал энтер и ничего, пусто...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
AndrejK писал(а): 25 ноя 2021, 20:25 С отправкой в UART и приемом из UART все ясно и понятно, а вот с отправкой переменной в UART и приемом из UART, никак.
Что не так? Спасибо.
Теперь Вас понял.
Поясню.
При обмене переменными есть существенные отличия по сравнению с простым uart.
Когда передаёте , например, байт в виде переменной, в придачу передаётся несколько дополнительных данных, по которым другой мк опознаёт, чего это за переменная такая, что-бы отличить её от других.
Поэтому Ваш простой тест не прокатит в данном случае.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 14 раз
- Поблагодарили: 100 раз
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
Нужно просто соединить разные МК между собой rx-tx и tx-rx. И передавать друг другу .
Прием переменной из UART и отправка ее туда же.
О как! Как же тогда принять переменную из UART, допустим 123456789, и, допустим, записать ее в EEPROM, прочитать EEPROM и отправить в UART.
Вижу логику таким образом, но ничего не вывело.
Вижу логику таким образом, но ничего не вывело.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Phazz
- Полковник
- Сообщения: 3169
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 239 раз
- Поблагодарили: 128 раз
Прием переменной из UART и отправка ее туда же.
[ref]AndrejK[/ref], должен быть завершающий символ например перенос строки. И по нему нужно делать сброс накопления
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
Вот смотрите, вы ввели в мониторе 12345678. котроллер поймал строку "12345678". Во первых, откуда он знает что не будет ещё например "9". Второй вопрос у контроллера, "А вообще то, куда это класть?" ведь переменных получаемых из УАРТ может быть много.... И в какую переменную положить принимаемые "12345678". Поэтому при отправке переменной, отправляется целый пакет. В мониторе порта вы вряд ли сможете его собрать. Посмотрите справку на блок ( https://flprog.ru/bez-rubriki/helppage/ ... ableToUart ), там в конце описан формат пакета который передается при отправке переменной. И соответственно если принимаемые данные не соответствуют этому формату, то они отбрасываются.AndrejK писал(а): 27 ноя 2021, 21:54 О как! Как же тогда принять переменную из UART, допустим 123456789, и, допустим, записать ее в EEPROM, прочитать EEPROM и отправить в UART.
Вижу логику таким образом, но ничего не вывело.
Отправлено спустя 2 минуты 7 секунд:
Если есть желание обойтись без второго контроллера, можете во встроеной скаде нарисовать экранчик с одним полем ввода, и передавать переменную оттуда (во всторенной скаде этот формат поддерживается)
Автор программы FLProg.
Прием переменной из UART и отправка ее туда же.
Спасибо за помощь.
Чуток изменил скетч и вот,что получилось. Предположу, что этими переменными можно оперировать.
Чуток изменил скетч и вот,что получилось. Предположу, что этими переменными можно оперировать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
Андрей.AndrejK писал(а): 28 ноя 2021, 10:00 Спасибо за помощь.
Чуток изменил скетч и вот,что получилось. Предположу, что этими переменными можно оперировать.
Используемый Вами пункт обмена переменными нужен исключительно для того, что-бы два контролера обменивались данными через переменные, как платы в проекте, и не подразумевают вообще использование монитора порта, т.к. обмен идёт в виде чистых байт, а не символов ASCII. Это как пытаться с помощью монитора порта в текстовом режиме увидеть значения обмена по модбасу - пустая затея.
Вы так и не описали задачу, которую решаете, или это эксперименты ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Прием переменной из UART и отправка ее туда же.
Моя идея/задача состоит в том, чтобы, допустим забили в контроллер ESP32 Cam с ее функционалом, все, кроме длинной строки Телеграмм-бота и цифровыми идентификаторами Телеграмм пользователя. Далее, просто подключаем уже залитый МК к COM порту, вбиваем недостающее, записываем это в EEPROM. Надо что-то поменять или добавить, подключаем меняем/добавляем.
Или я слишком углубился и все можно сделать проще?
Или я слишком углубился и все можно сделать проще?
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
Могу только ещё раз предложить собрать во встроенной скаде приложение, с нужным количеством полей ввода, и кнопкой "Записать". Протокол обмена переменными в ней поддерживается.AndrejK писал(а): 28 ноя 2021, 10:36 Моя идея/задача состоит в том, чтобы, допустим забили в контроллер ESP32 Cam с ее функционалом, все, кроме длинной строки Телеграмм-бота и цифровыми идентификаторами Телеграмм пользователя. Далее, просто подключаем уже залитый МК к COM порту, вбиваем недостающее, записываем это в EEPROM. Надо что-то поменять или добавить, подключаем меняем/добавляем.
Или я слишком углубился и все можно сделать проще?
Автор программы FLProg.
Прием переменной из UART и отправка ее туда же.
Всем доброго времени суток!
Прошу прояснить следующий вопрос.
Пытаюсь предать переменную типа Byte (8 бит) в монитор порта при помощи стандартного блока "Отправка переменной в UART". В настройках порта - отправлять каждые 100 ms. На экране вижу прочерки с разделителями с заданным тактом. В тоже время, при этих же настройках, переменные типа Integer или Bool передаются без вопросов, с соответствующим отображением .
Это особенность отображения Byte- переменных? Или этот блок не для таких переменных.
Прошу прояснить следующий вопрос.
Пытаюсь предать переменную типа Byte (8 бит) в монитор порта при помощи стандартного блока "Отправка переменной в UART". В настройках порта - отправлять каждые 100 ms. На экране вижу прочерки с разделителями с заданным тактом. В тоже время, при этих же настройках, переменные типа Integer или Bool передаются без вопросов, с соответствующим отображением .
Это особенность отображения Byte- переменных? Или этот блок не для таких переменных.
Прием переменной из UART и отправка ее туда же.
Уважаемые, подскажите пожалуйста максимальную длину строки в string которая может быть отправлена и получена блоком отправка переменной в юарт. Никак не могу добиться передачи сообщения с одного arduino на другой более примерно 55 знаков. При отправке бОльшего значения -отрезается часть сообщения. Подозреваю что в юарт существует некоторая память которая переполняется. При разбивке сообщения на передаче на несколько блоков, дело существенно не меняется. Может быть кто-нибудь сталкивался, как обойти этот момент ограничения .
- AlexCrane
- Капитан
- Сообщения: 903
- Зарегистрирован: 20 окт 2017, 13:22
- Откуда: Ульяновск
- Имя: Александр
- Поблагодарили: 12 раз
Прием переменной из UART и отправка ее туда же.
[ref]Vict[/ref], Попробуй поменять размер буфера через блок
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Если нет возможности отблагодарить материально, хотя бы оцени пост....
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Прием переменной из UART и отправка ее туда же.
Для 328 - по 64 байта.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Прием переменной из UART и отправка ее туда же.
Мне для проекта понадобилось принимать пакеты байт по UART с переменной длиной и чек суммой в конце, причём за один цикл программы..Штатные блоки не подошли, написал и отладил свой, в этом мне очень помог Anatoliy.
Кидаю блок сюда, в нём выбирается номер UART и массив для принимаемых байт, а также способ задания длины, статичный или динамический.
Вход E разрешает извлечение байт из буфера UART системы если он True,
вход N задаёт длину пакета,
выход Next поднимается в True по принятии пакета,
выход CSum выдаёт контрольную сумму (младший байт суммы всех байт в пакете кроме последнего)
выход L выдаёт длину пакета, и она же номер байта с контрольной суммой в архиве.
Максимальная длина пакета 256 байт.
Кидаю блок сюда, в нём выбирается номер UART и массив для принимаемых байт, а также способ задания длины, статичный или динамический.
Вход E разрешает извлечение байт из буфера UART системы если он True,
вход N задаёт длину пакета,
выход Next поднимается в True по принятии пакета,
выход CSum выдаёт контрольную сумму (младший байт суммы всех байт в пакете кроме последнего)
выход L выдаёт длину пакета, и она же номер байта с контрольной суммой в архиве.
Максимальная длина пакета 256 байт.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость