1

Тема: Конвертеры и преобразование байтов пакетов CAN

Добрый день!

При работе с кан шиной столкнулся с тем, что canny принимает пакеты из can шины по паре байтов. Например D5:D4 и D3:D2. Мне же необходимо обработать данные в двух байтах D3:D4. Самый простой способ вижу как с помощью конвертера разложить пары байтов на биты и собрать нужную пару байтов с помощью обратной конвертации. Правильно ли я указал связи от конвертеров на схеме? Байты D3:D2 разложатся побитово сначала D3, потом D2?

Вложений в сообщении

Иконка вложения Снимок экрана 2022-06-19 в 12.57.20.png 114.9 кб, скачивался 29 раз, последний раз 2022-06-19 

2

Re: Конвертеры и преобразование байтов пакетов CAN

В принципе можно такого же добиться сдвигом вправо одного блока данных и сдвигов влево другого с последующем побитовым сложением. Но чтобы понять порядок расположения информации в парных байтах данных CAN верхняя схема была бы более нагладной.

3

Re: Конвертеры и преобразование байтов пакетов CAN

Ну в общем сам разобрался) Если побитово разложить данные D3:D2, то первым расклаывается D2, потом D3.

4

Re: Конвертеры и преобразование байтов пакетов CAN

Dmitry30Rus пишет:

Ну в общем сам разобрался) Если побитово разложить данные D3:D2, то первым расклаывается D2, потом D3.

Да, это так. Старший байт (D3) состоит из старших бит (B15...B8), младший байт (D2) - из младших бит (B7...B0).
Использование сдвигов и побитового или для практических целей более наглядно и лаконично.