30.10.2016, 22:06 | #1 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Побитовый сдвиг - что я делаю не так
Мне нужно отправить от одной ардуины в другую число
PHP код:
Разбиваю так: PHP код:
На другом конце собираю так: PHP код:
П.С. Если через эту конструкцию отправлять двухбайтное число (uint16_t), то всё ОК, а вот 4-х байтное не прокатывает.
__________________
istarik.ru Последний раз редактировалось stD; 30.10.2016 в 22:11. |
30.10.2016, 23:14 | #2 |
Senior Member
Регистрация: 20.09.2014
Сообщений: 145
Вес репутации: 0 |
Re: Побитовый сдвиг - что я делаю не так
Можт после каждой команды разбора на байты поставить команды вывода значений в терминалку? глянуть что приходит и что уходит.
|
31.10.2016, 00:54 | #3 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Побитовый сдвиг - что я делаю не так
Я уже всё в одной программе сделал:
PHP код:
В терминале пишет: PHP код:
__________________
istarik.ru |
31.10.2016, 01:20 | #4 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Побитовый сдвиг - что я делаю не так
Насколько я помню сначала нужно двигать на восемь бит вправо и только потом на младший байт накладывать маску
Как то так Код:
array_out[10] = hot_water & 0xFF; array_out[11] = (hot_water >> 8) & 0xFF; |
31.10.2016, 01:31 | #5 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Побитовый сдвиг - что я делаю не так
Хотя посмотрел внимательней, этот способ тоже годится
Код:
data & 0xFF (data & 0xFF00) >> 8 (data & 0xFF0000) >> 16 (data & 0xFF000000) >> 24 |
31.10.2016, 01:36 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Побитовый сдвиг - что я делаю не так
Вот так будет правильно
PHP код:
|
31.10.2016, 02:40 | #7 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Побитовый сдвиг - что я делаю не так
Благодарствую.
__________________
istarik.ru |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|