Страница 3 из 4

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 09:26
ElectroMechaniC
[ref]Almer[/ref], а какая разница? Сетка то везде равнозначна! На физическом уровне!

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 11:09
Almer
Бывает через шлюз блоки общаются....

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 11:19
ElectroMechaniC
[ref]Almer[/ref], Я понимаю! Но только соединением физическим в другом месте избавиться от этого мусора не выйдет) , к сожалению) Нужно искать другой путь!

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 11:59
Almer
Так если шлюз есть, может быть и посылка другая на щит едет из шлюза?! Ну и пакетов поменьше в шине. Все посвободнее на шине. Ну а так то надо ловить посылку проверять кс, если все норм то передаем её дальше...

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 12:04
ElectroMechaniC
Almer писал(а): 12 май 2018, 11:59если все норм то передаем её дальше...
вот и я об этом! как только? ещё раз напоминаю до 30-ти км/ч передача без мусора

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 12:17
pan
[ref]ElectroMechaniC[/ref], сложение байт без конвертации работает? вложение из 32 поста

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 13:29
ElectroMechaniC
[ref=#ff8000]pan[/ref], извините , пока что не могу проверить! происходит смена головного устройства... я обязательно отпишусь... спасибо за напоминание)

Отправлено спустя 58 минут 54 секунды:
[ref=#ff8000]pan[/ref], Спасибо большое! Огромное! Всё работает! Без конвертации и перевода. Сложение работает тоже! Наверное стоит повнимательней выучить матчасть!https://www.youtube.com/watch?v=Bw_KIN6SY2U
Спасибо огромное мужики! Всем за помощь! Тему наверное можно закрывать)))

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 13:35
Almer
Осталось точку поставить. Че было то не так?

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 13:45
Oleg_UA
Крутейшая штука у Вас вышла (самого "хочуха" начинает давить) :victory: какой дисплей если не секрет и с каким интерфейсом?
По поводу преобразования двух 8 битных в одно 16 бит, можно сделать очень просто:
uint16_t speed = ((uint16_t)Byte_01 << 8) + Byte_02; // собираем одно число (16bit) из двух Byte_02 и Byte_01

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 13:54
ElectroMechaniC
[ref]Oleg_UA[/ref], давайте в ЛС! Дабы не сорить в теме)))

Отправлено спустя 2 минуты 36 секунд:
[ref]Almer[/ref], убрал все строковые переменные! И отфильтровал вот этим http://forum.flprog.ru/viewtopic.php?f=81&t=3065

Отправлено спустя 45 секунд:
Это конечный результат платы скорости!

Отправлено спустя 2 минуты 5 секунд:
Помниться мне кто то тут распинался. что на ардуине такое поднять не реально! Так вот если вы это читаете...................................................вы ошибались! Такое реально! Весь проект на уне 29% памяти!

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 14:16
pan
Oleg_UA писал(а): 12 май 2018, 13:45По поводу преобразования двух 8 битных в одно 16 бит
Олег, именно так и было сделано

Отправлено спустя 1 минуту 40 секунд:
хотя нет. чуть по другому
out = ( byte1 <<8) | byte2

как отсеять мусор из UART в реал-тайме?

Добавлено: 12 май 2018, 14:20
Oleg_UA
pan писал(а): 12 май 2018, 14:14именно так и было сделано
Смотрел только проект из первого поста остальное не открывалось (я использую версию 2.5) а там было совсем по другому

как отсеять мусор из UART в реал-тайме?

Добавлено: 14 май 2018, 08:32
injener
[ref]ElectroMechaniC[/ref],
Тоже попался с преобразованием? :haha: Быстро вы решили. Я дольше мучался пока не перенаправил пакеты и не усек на что тратится время... Причем [ref=#ff8000]pan[/ref] писал об этом ранее, вот это и натолкнуло на мысль что что то пытается заниматься пустыми вычислениями, причем такой сложности что ардуинка просто висла...

как отсеять мусор из UART в реал-тайме?

Добавлено: 14 май 2018, 08:40
ElectroMechaniC
[ref]injener[/ref], :victory: главное что получилось! А скиньте ссылочку на ваш труд! Интересно же))))

как отсеять мусор из UART в реал-тайме?

Добавлено: 14 май 2018, 09:09
injener
[ref]ElectroMechaniC[/ref],
Нету. Терпения не хватило доделать... Да и ума наверно. :crazy:

Отправлено спустя 9 минут 32 секунды:
[ref]ElectroMechaniC[/ref], [spoiler]Изображение[/spoiler] Сегодня забрал. Предыдущую спалил по невнимательности... Надо уже собрать и на обкатку...

как отсеять мусор из UART в реал-тайме?

Добавлено: 14 май 2018, 13:51
ElectroMechaniC
[ref]injener[/ref], круть!

Отправлено спустя 20 секунд:
:bb2:

как отсеять мусор из UART в реал-тайме?

Добавлено: 18 май 2018, 16:45
ElectroMechaniC
[ref=#ff8000]pan[/ref], Добрый вечер! Вынужден опять обратиться за помощью! Мне необходимо сложить три байта по тому же принципу, как вы делали блок сложения двух байт! Точнее наверно не сложения , а как верно подметили склеивания! Поможете?

Отправлено спустя 4 минуты 2 секунды:
Верно ли будет выражение для трёх байт?

Код: Выделить всё

if(en){out = ( in1 << 8 )  | in2 | in3 ;}

как отсеять мусор из UART в реал-тайме?

Добавлено: 18 май 2018, 17:45
Sancho
[ref]ElectroMechaniC[/ref],
Переменная, выход, должна быть типа long
out = 0;
out = ( uint32_t(in1 << 16)) | (uint32_t( in2 << 8 )) |( uint32_t(in3)) ; // порядок in1 старший.

как отсеять мусор из UART в реал-тайме?

Добавлено: 18 май 2018, 19:44
pan
[ref=#ff8000]Sancho[/ref], а почему так?
разве не
out = (in1 << 16) | (in2 << 8) | in3

как отсеять мусор из UART в реал-тайме?

Добавлено: 18 май 2018, 20:02
Sancho
[ref=#ff8000]pan[/ref],
Спешил.
Но так мы приводим к одному типу. 32 бита.