Страница 1 из 1

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

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

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

Добавлено: 15.04.2019{, 08:13}
Ingwar

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

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

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

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

Добавлено: 15.04.2019{, 10:27}
mic10154
Ок спасибо. А чтобы байт присоединить, конвертировать надо?

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

Добавлено: 15.04.2019{, 12:11}
Sancho
mic10154, Сделай так, одной переменной.

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

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

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

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

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

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