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

Как разобрать 2 однотипные переменные из UART?

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

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

#1

Сообщение mic10154 » 15.04.2019{, 07:18}

Задача: есть Nano и две сервы для управления кронштейном видеокамеры по 2м осям. На другом конце Nano и аналоговый джойстик. Между ними HC-12 (радиоканальный UART),ну или просто UART. Передаем аналоговые данные с джойстика 2 переменных типа Integer в порт.
Вопрос: Как мне разобрать полученные переменные,чтобы одна серва реагировала на перемещения джоя по X , а другая по Y? Подскажите в сторону какого блока копать?
Передача.flp
(38.58 КБ) 54 скачивания

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#2

Сообщение Ingwar » 15.04.2019{, 08:13}

Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

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

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

#3

Сообщение Sancho » 15.04.2019{, 08:18}

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

Отправлено спустя 1 минуту 37 секунд:
Ха, опоздал.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

mic10154
Рядовой
Сообщения: 50
Зарегистрирован: 13.10.2015{, 18:44}
Репутация: 0
Откуда: Кызыл

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

#4

Сообщение mic10154 » 15.04.2019{, 10:27}

Ок спасибо. А чтобы байт присоединить, конвертировать надо?

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

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

#5

Сообщение Sancho » 15.04.2019{, 12:11}

mic10154, Сделай так, одной переменной.
Вложения
Передача_2Byte.flp
(34.9 КБ) 86 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

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

#6

Сообщение Serg_Grn » 08.04.2020{, 19:29}

Чтоб не плодить лишних тем, спрошу здесь. Вопрос по блоку "Отправка переменной в UART".
Есть проблема: когда отправляю в UART две однотипные переменные (с разным индексом), то, если совпало так, что переменные отправились в одном программном цикле, то с той стороны они неправильно расшифровываются и на выходе получаю полную чехарду... Заметил, что если переменная отправляется одна (или обе, но в разное время), то вроде доходит нормально.
Но фокус в том, что блок не позволяет отправить по команде, а только с заданной периодичностью либо по изменению, а это неизбежно приводит к совпадению отправки в одном цикле, рано или поздно.
Такая незадача...

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

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

#7

Сообщение Dragony » 08.04.2020{, 19:59}

Фигня какая-то. У меня в одном цикле отправляются четыре переменные, разных типов - все приходит как надо. (Три "интежер", одна "булеан")
Проверьте - правильно ли указаны их названия - соответствуют ли принимаемые передаваемым (я с этим разок споткнулся, когда программу переделывал). Соответствуют ли типы переменных на приемной и передающей стороне. У меня все переменные отправляются с одинаковыми интервалами времени, как там устройства с этим разбираются - не знаю, но данные идут правильные. :smile37: :D

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

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

#8

Сообщение Serg_Grn » 10.04.2020{, 08:09}

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

Ответить

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