как отсеять мусор из UART в реал-тайме?
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
Как быть в таком случае?
Отправлено спустя 57 секунд:
У меня под этим ID , температура двигателя в 1м байте лежит!
Отправлено спустя 58 секунд:
Но температура то бог с ним! она и раз в секунду отображается норм! Можно её усреднить ко всему прочему!
Отправлено спустя 2 минуты :
А вот обороты и скорость не усреднишь! Они слишком динамичны!
Щас скину видео с чем я борюсь)))
Кстати с оборотами получилось разобраться, а со скоростью никак!
До 30ти км/ч как шёлковая стрелка! а после прыгает как бешеная!
Отправлено спустя 57 секунд:
У меня под этим ID , температура двигателя в 1м байте лежит!
Отправлено спустя 58 секунд:
Но температура то бог с ним! она и раз в секунду отображается норм! Можно её усреднить ко всему прочему!
Отправлено спустя 2 минуты :
А вот обороты и скорость не усреднишь! Они слишком динамичны!
Щас скину видео с чем я борюсь)))
Кстати с оборотами получилось разобраться, а со скоростью никак!
До 30ти км/ч как шёлковая стрелка! а после прыгает как бешеная!





- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
как отсеять мусор из UART в реал-тайме?
Возьми после сравнения и отправь полученный ID на дисплей - увидишь для начала что там приходит.
Потом измени сравнение со строк на цифры.
Потом измени сравнение со строк на цифры.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref=#ff8000]Sancho[/ref], Спасибо!
Отправлено спустя 3 минуты 17 секунд:
Вот видео того что происходит со стрелкой спидометра! Ещё раз напомню что тахо я победил, со скоростью по тому же принципу не выходит! https://youtu.be/14zxm9ACoK0
Отправлено спустя 32 минуты 30 секунд:
У кого какие мысли?
Отправлено спустя 3 минуты 17 секунд:
Вот видео того что происходит со стрелкой спидометра! Ещё раз напомню что тахо я победил, со скоростью по тому же принципу не выходит! https://youtu.be/14zxm9ACoK0
Отправлено спустя 32 минуты 30 секунд:
У кого какие мысли?






как отсеять мусор из UART в реал-тайме?
я такого не говорил. речь шла о целесообразности преобразованияElectroMechaniC писал(а): 11 май 2018, 10:13 прав! Скорее всего дело в самом преобразовании в строки!
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref=#ff8000]pan[/ref], ок! Согласен! Беру слова назад!





как отсеять мусор из UART в реал-тайме?
сейчас посетила мысль.
у вас в проекте используются переменные unsigned long. а реально они какого размера? если int , то возможно из за этого мусор
у вас в проекте используются переменные unsigned long. а реально они какого размера? если int , то возможно из за этого мусор
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref=#ff8000]pan[/ref], не особо большие! Я брал unsigned long. исключительно для того что бы не было отрицательных значений? Сейчас попробую перебить в INT





как отсеять мусор из UART в реал-тайме?
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref=#ff8000]pan[/ref], Вот я лошара! Век живи век учись! Сейчас попробую с INT! Спасибо!





- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref]TheDevil[/ref], это для чего? для получения определённых байтов? или для преобразования? Можете подробнее объяснить?





как отсеять мусор из UART в реал-тайме?
потыкал в калькуляторе... чет фигня какая то.ElectroMechaniC писал(а): 11 май 2018, 09:20первый и второй байты по отдельности в .hex, после чего соединить в одно число .hex, a уже полученое 16е число преобразовать в .dec
может знающие подскажут. но по моему это безсмысленная операция.
соединить можно и байты. от конвертации в hex а потом обратно ни чего не изменится
Отправлено спустя 20 минут 20 секунд:
ради эксперимента можете проверить. пока всё оставить как есть, только соединение двух байт по другому попробовать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref=#ff8000]pan[/ref], спасибо! Попробую! Отпишусь! Кстати с int фокус не прокатил! Всё работет конечно, но блин эта еденичка и троечка, будь они не ладны! Единственное понимаю - что облегчил жизнь контроллеру!





- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
как отсеять мусор из UART в реал-тайме?
Hex - шестнадцатиричная система счисления, только и всего.
0х40 = 64
0xFF = 255
двухбайтный hex:
0x0040 = 64
0x00FF = 255
0xFFFF = 65535 для unsig
Контролеру вообще фиолетово, что сравнивать, он сравнивает побитно!
0х40 = 64
0xFF = 255
двухбайтный hex:
0x0040 = 64
0x00FF = 255
0xFFFF = 65535 для unsig
Контролеру вообще фиолетово, что сравнивать, он сравнивает побитно!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
А по поводу калькулятора, я и сам сидел-переводил! Не выходит аленькай цвятечек! Реальные показания только воо по такому запутанному алгоритму выводить получается!
Отправлено спустя 2 минуты 58 секунд:
Я вот убей не пойму! Плата с оборотами работает распрекрасно! Хотя изначально тоже дёргалась! Пока условий не понавешал! Чем же отличается аналогичное действие со скоростью? Даже пробовал отдельно скорость компилировать без оборотов! Всё равно дёргается!
Отправлено спустя 10 минут 10 секунд:
[ref=#ff8000]Sancho[/ref], вот я и получаю двухбайтное число методом объединения строк, перевожу его в dec. И т.д.
Может байты не полные приходят? Заметил ещё ! Может совпадение:
Когда передача нормальная, без мусора, то и диод rx на уне моргает ровненько, быстренько, практически горит постоянно! Но только скачёк на 1 или на 3 , и диод тоже как будто немного паузу делает, тухнет! Может там delay какой нибудь проскакивает? Иди сдвиг значений? Приходит например пол байта))) я в этом не особо! Так что не умничаю! Что скажете?
Отправлено спустя 2 минуты 58 секунд:
Я вот убей не пойму! Плата с оборотами работает распрекрасно! Хотя изначально тоже дёргалась! Пока условий не понавешал! Чем же отличается аналогичное действие со скоростью? Даже пробовал отдельно скорость компилировать без оборотов! Всё равно дёргается!
Отправлено спустя 10 минут 10 секунд:
[ref=#ff8000]Sancho[/ref], вот я и получаю двухбайтное число методом объединения строк, перевожу его в dec. И т.д.
Может байты не полные приходят? Заметил ещё ! Может совпадение:
Когда передача нормальная, без мусора, то и диод rx на уне моргает ровненько, быстренько, практически горит постоянно! Но только скачёк на 1 или на 3 , и диод тоже как будто немного паузу делает, тухнет! Может там delay какой нибудь проскакивает? Иди сдвиг значений? Приходит например пол байта))) я в этом не особо! Так что не умничаю! Что скажете?





- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
как отсеять мусор из UART в реал-тайме?
[ref]ElectroMechaniC[/ref],
Просто для пробы, для начала.
Отправлено спустя 4 минуты 44 секунды:
352h = 852 dec
Просто для пробы, для начала.
Отправлено спустя 4 минуты 44 секунды:
352h = 852 dec
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
как отсеять мусор из UART в реал-тайме?
так может дело всетаки не в цифрах, а в передаче данных. помеха или отваливается что то.ElectroMechaniC писал(а): 11 май 2018, 17:22Когда передача нормальная, без мусора, то и диод rx на уне моргает ровненько, быстренько, практически горит постоянно! Но только скачёк на 1 или на 3 , и диод тоже как будто немного паузу делает, тухнет
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref=#ff8000]pan[/ref], помеха или отваливается что то.
Нет! Я уже сотню раз эту схему проверял! Сначала на проводах, затем платки вытравил, типа шины сделал, упростил везде всё! Пропаял! И у меня когда обрыв в любом месте то данные зависают на пару секунд, а потом прога говорит типа не конект!
Отправлено спустя 1 минуту :
Спецом пробовал кратковременно выключать и быстро включать! Не то всё! Сам голову сломал уже!
Нет! Я уже сотню раз эту схему проверял! Сначала на проводах, затем платки вытравил, типа шины сделал, упростил везде всё! Пропаял! И у меня когда обрыв в любом месте то данные зависают на пару секунд, а потом прога говорит типа не конект!
Отправлено спустя 1 минуту :
Спецом пробовал кратковременно выключать и быстро включать! Не то всё! Сам голову сломал уже!





как отсеять мусор из UART в реал-тайме?
А может время чтения посылки из кана не совпадает с её отправкой? Получается читать нечего? Короче таймауты не совпадают...
- ElectroMechaniC
- Сержант
- Сообщения: 230
- Зарегистрирован: 21 сен 2016, 06:50
- Откуда: Донецк
- Имя: Юрий
как отсеять мусор из UART в реал-тайме?
[ref]Almer[/ref], это наиболее правдоподобный вариант! Вот как забабахать синхронизацию? Сам над этой мыслью колдую! Нужна чёткая привязка по времени и тригер типа байт пришёл-пишем, байт не полный, пропускаем, ждём полного! Там же куча интерфейсов и скоростей задействована! Может где то и не совпадают тайминги!
Есть идеи как это проверить?
Есть идеи как это проверить?





как отсеять мусор из UART в реал-тайме?
На сколько я понял там приоритет у посылок разный. Одна другой место уступает. Может попробовать у щитка к кану подключится?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость