Как применить формулу к последовательности байт?

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Как применить формулу к последовательности байт?

Сообщение Labu559 »

Отправлено спустя 3 минуты 28 секунд:
Sancho писал(а): 06 окт 2018, 14:04ты подал не в том порядке - сверху младшие, снизу старшие...
Это не я подал
ElectroMechaniC писал(а): 05 окт 2018, 10:40мне нужно применить к ней формулу
(1.0*(10*((A*16777216+B*65536+C*256+D)&268435455)))/1000
ElectroMechaniC писал(а): 05 окт 2018, 11:48последовательность такова A-7F: B-22: C-12: D-(предположительно) 00.
Labu559 писал(а): 05 окт 2018, 11:49Если я правильно Вас пронял, и "7F" это "А" в Вашей формуле; B==0x22 ; C==0x12, то в таком случае
Если я правильно пронял, изв.понял ,всё продано, извините подано до меня.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

[ref]Labu559[/ref], Василий, в таком случае ты дёргаешь "D" 127/255, на 3 плате с моим блоком. самые незначащие в формуле.
Labu559 писал(а): 05 окт 2018, 20:17И ещё,
Sancho писал(а): ↑Вчера [12:33]
Эта операция уберёт четыре старших бита в числе, 32 битном.
которые всегда, при любом значении А будут == 0, и после чего не влезают ещё 4 старших бита этого же А при значениях больше 127 (0xF). Может тогда есть смысл облегчить страдания Arduino и вставить строку if (A>0xF) A=0xF;
Нет, это не одно и тоже. Например, 134, оно более 0xF, но младшие 4 бита совсем другие, чем у 0xF, соответственно, и результат будет иным. А побитовые операции для ардуинки - как "с добрым утром" проходят, в отличии от последующих /100,0

У меня осталась привычка от обозначения советской логики - сверху младшие разряды, снизу старшие, что вход, что выход. [spoiler]
2018-10-06_15-10-25.png
[/spoiler]
Так и делаю на своих блоках.

Отправлено спустя 5 минут 9 секунд:
Я думаю, что &268435455 - это делитель на 16 кругов одометра - тебе не видно, а ЭБУ всё знает! :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Как применить формулу к последовательности байт?

Сообщение Labu559 »

Sancho писал(а): 06 окт 2018, 15:19в таком случае
Да я уже и сам заметил, и на 4-й плате тоже. Поставил как нужно, теперь твои результаты совпадают с моими полностью. Вопрос не снят с повестки дня о значениях переменной byte А(127/255) или в unsigned long 127255255255 и 255255255255 которые в итоге дают одинаковый float на выходе 2684354,5.

Отправлено спустя 2 минуты 58 секунд:
Sancho писал(а): 06 окт 2018, 15:24делитель на 16 кругов одометра - тебе не видно
понял теперь, так это сдвиг вправо надо делать на 4 позиции а не & 268435455 в таком случае, или все сдвиги влево минусовать на 4 позиции а переменную D убрать 4 младших бита (не полных 10 метров?).
value = ((A|0UL)<<20)+((B|0UL)<<12)+((C|0UL)<<4)+(D>>4);
value = (((A|0UL)<<24)+((B|0UL)<<16)+((C|0UL)<<8)+D)>>4;
Ув. [ref]ElectroMechaniC[/ref], Попробуйте теперь [spoiler title=этот блок из проекта]
MechanicFinal.flp
[/spoiler] на этом моя буйная фантазия и время исчерпались. Всем извините!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Labu559 06 окт 2018, 16:39, всего редактировалось 3 раза.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

[ref]Labu559[/ref], Нет, Василий. Это 16 кругов одометра! А внутри ЭБУ всё считается!
Исходник

Отправлено спустя 3 минуты 57 секунд:
Labu559 писал(а): 06 окт 2018, 15:442684354,5
км. Это ещё нужно проехать, хотя-бы за жизнъ :)

Отправлено спустя 29 минут 18 секунд:
Померла нанка - не загружается :( протёрлась, наверно :)
dizzyy писал(а): 06 окт 2018, 16:53попробуй бутлоадер залить.. у меня часто слетает при тестах
Позже...

Отправлено спустя 7 минут 48 секунд:
Проверил в протеусе. Подавал значения от 0 и ++. Работают только четыре младшие бита. Далее по кругу.

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

Как применить формулу к последовательности байт?

Сообщение Sancho »

Оставил все биты - то-же...
т.е. 28 бит макс? получается да.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Как применить формулу к последовательности байт?

Сообщение AlexCrane »

[ref]Labu559[/ref], [ref=#ff8000]Sancho[/ref], Пока генералы спорят... я :smile225:
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

[ref]AlexCrane[/ref], И я уже "вляпался" в субботницу....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Как применить формулу к последовательности байт?

Сообщение AlexCrane »

[ref=#ff8000]Sancho[/ref],[spoiler=Offtopic] :buhnut:[/spoiler]
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Как применить формулу к последовательности байт?

Сообщение Labu559 »

Sancho писал(а): 06 окт 2018, 16:53Работают только четыре младшие бита. Далее по кругу.
Sancho писал(а): 06 окт 2018, 16:56т.е. 28 бит макс? получается да.
Саша, ну конечно, и я о том-же в 4-м, в 13-м, в 15-м показываю в проекте, в 17-м, в 19-м опять показываю, в 23-м, толкую и так и сяк и эдак- не влазит больше! Вот не зря евреи в суботу отдыхают. :smile160:
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

[ref]Labu559[/ref], Василий - осознал сам. Вкурил, впил так сказать.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21 сен 2016, 06:50
Откуда: Донецк
Имя: Юрий

Как применить формулу к последовательности байт?

Сообщение ElectroMechaniC »

Получается каша! В итоге из этой формулы должно получиться Dec==29587.61(для ясности :км), это мой реальный пробег на щитке), а по примерам фуйня муйня выходит))) чёт не клеится))) извините за громкие(замаскированные) слова!
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

[ref]ElectroMechaniC[/ref], Какие байты(набор) при этих показаниях получаешь?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21 сен 2016, 06:50
Откуда: Донецк
Имя: Юрий

Как применить формулу к последовательности байт?

Сообщение ElectroMechaniC »

[ref=#ff8000]Sancho[/ref], 21329392.00 приходит((((((((((

Отправлено спустя 34 секунды:
Вроде бы где то и рядом но не то(((
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

[ref]ElectroMechaniC[/ref], Нет, я о байтах, какой набор в формате Нех.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
ElectroMechaniC
Сержант
Сообщения: 230
Зарегистрирован: 21 сен 2016, 06:50
Откуда: Донецк
Имя: Юрий

Как применить формулу к последовательности байт?

Сообщение ElectroMechaniC »

[ref=#ff8000]Sancho[/ref], немного не въеду о чём речь,ведь мне то по формуле как раз в десятичное число и нужно.... Я просто не пойму. объясни пожалуйста что сделать и я попробую..
:newrus: Все в руках человека. Поэтому всегда мойте руки перед и зад! :victory:
:smile225: :smile469: :smile427:
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как применить формулу к последовательности байт?

Сообщение Sancho »

ElectroMechaniC, я о байтах, которые подаёшь на блок. Входные данные для формулы.

Отправлено спустя 38 секунд:
И какие показания одометра в этот момент.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ответить

Вернуться в «Спросить у знатоков»

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

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