Получение из UART 2х однотипных переменных Byte или Int

Вопросы от новичков
Ответить
mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13 окт 2015, 18:44
Откуда: Кызыл

Получение из UART 2х однотипных переменных Byte или Int

Сообщение mic10154 »

Задача: есть Nano и две сервы для управления кронштейном видеокамеры по 2м осям. На другом конце Nano и аналоговый джойстик. Между ними HC-12 (радиоканальный UART),ну или просто UART. Передаем аналоговые данные с джойстика 2 переменных типа Integer в порт.
Вопрос: Как мне разобрать полученные переменные,чтобы одна серва реагировала на перемещения джоя по X , а другая по Y? Подскажите в сторону какого блока копать?
Передача.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Получение из UART 2х однотипных переменных Byte или Int

Сообщение Ingwar »

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

Получение из UART 2х однотипных переменных Byte или Int

Сообщение Sancho »

[ref]mic10154[/ref], Есть такая опция, кроме отправки в уарт, "Отправка переменной в уарт" :)
Принимайте каждую отдельно "Приём переменной из уарт" и пользуйте.
Всё.

Отправлено спустя 1 минуту 37 секунд:
Ха, опоздал.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13 окт 2015, 18:44
Откуда: Кызыл

Получение из UART 2х однотипных переменных Byte или Int

Сообщение mic10154 »

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

Получение из UART 2х однотипных переменных Byte или Int

Сообщение Sancho »

[ref]mic10154[/ref], Сделай так, одной переменной.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Получение из UART 2х однотипных переменных Byte или Int

Сообщение Serg_Grn »

Чтоб не плодить лишних тем, спрошу здесь. Вопрос по блоку "Отправка переменной в UART".
Есть проблема: когда отправляю в UART две однотипные переменные (с разным индексом), то, если совпало так, что переменные отправились в одном программном цикле, то с той стороны они неправильно расшифровываются и на выходе получаю полную чехарду... Заметил, что если переменная отправляется одна (или обе, но в разное время), то вроде доходит нормально.
Но фокус в том, что блок не позволяет отправить по команде, а только с заданной периодичностью либо по изменению, а это неизбежно приводит к совпадению отправки в одном цикле, рано или поздно.
Такая незадача...
Dragony
Сержант
Сообщения: 170
Зарегистрирован: 02 янв 2020, 11:55
Имя: Александр
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Получение из UART 2х однотипных переменных Byte или Int

Сообщение Dragony »

Фигня какая-то. У меня в одном цикле отправляются четыре переменные, разных типов - все приходит как надо. (Три "интежер", одна "булеан")
Проверьте - правильно ли указаны их названия - соответствуют ли принимаемые передаваемым (я с этим разок споткнулся, когда программу переделывал). Соответствуют ли типы переменных на приемной и передающей стороне. У меня все переменные отправляются с одинаковыми интервалами времени, как там устройства с этим разбираются - не знаю, но данные идут правильные. :smile37: :D
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Получение из UART 2х однотипных переменных Byte или Int

Сообщение Serg_Grn »

Да, проблема некорректной отправки была в другом. Плата, которая отправляет данные, в это же время получала пакеты данных по UART от другой платы, а так как вход Rx на прерываниях, то видимо процесс отправки прерывался и на том конце получалась чехарда и ерунда... Разделил по времени приём и отправку данных и всё пошло правильно.
Кстати сделал ПБ отправки переменной в UART - точную копию встроенного блока, только с возможностью отправки по сигналу. Опубликую чуть позже.
Ответить

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

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

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