Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.10.2016, 22:06   #1
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Побитовый сдвиг - что я делаю не так

Мне нужно отправить от одной ардуины в другую число
PHP код:
unsigned long hot_water 161959
разбив его на четыре байта.

Разбиваю так:

PHP код:
...
array_out[10] = hot_water 0xFF
array_out[11] = (hot_water 0xFF00) >> 8;  
array_out[12] = (hot_water 0xFF0000) >> 16
array_out[13] = (hot_water 0xFF000000) >> 24;
... 

На другом конце собираю так:

PHP код:
...
hot_wat array_out[13]; 
hot_wat = (hot_wat << 24) | array_out[12]; 
hot_wat = (hot_wat << 16) | array_out[11];  
hot_wat = (hot_wat << 8) | array_out[10];
... 
Однако вместо 161959 получаю нелепое число, типа - 33585319. Подскажите, что не так?

П.С. Если через эту конструкцию отправлять двухбайтное число (uint16_t), то всё ОК, а вот 4-х байтное не прокатывает.
__________________
istarik.ru

Последний раз редактировалось stD; 30.10.2016 в 22:11.
stD вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:05. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика