[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: RD3AVJ 
Форум » форумы » Общие вопросы по Bascom-AVR » разбить word на два байта
разбить word на два байта
shermanДата: Понедельник, 13.05.2013, 23:08 | Сообщение # 1
Группа: Свой человек
Сообщений: 55

Статус: Offline
Всем привет! В общем встала задача разбить большие данные (word, long) на отдельные байты. Как это можно сделать например для типа Word? Это как раз двухбайтный тип переменной, нужно как-то разбить его на старший и младший байты.

 
exersizzeДата: Вторник, 14.05.2013, 00:23 | Сообщение # 2
Группа: Администраторы
Сообщений: 716

Статус: Offline
Это делается с помощью сдвига, командой Shift
вот простой кусок кода для вытаскивания "левого" байта из ворда
Код
$sim

Dim A As Word
A = 256                    '0000000100000000
Dim B As Byte
'сдвигаем все на 8 вправо
Shift A , Right , 8                    '0000000000000001
B = A                    '00000001
Print B                    'напечатает 1

End

аналогично и с оставшейся частью.


 
ПетрДата: Вторник, 14.05.2013, 11:32 | Сообщение # 3
Группа: Проверенные
Сообщений: 47

Статус: Offline
Цитата (exersizze)
Это делается с помощью сдвига, командой Shift
Я бы использовал бы функции LOW() и HIGH().


 
shermanДата: Вторник, 14.05.2013, 12:36 | Сообщение # 4
Группа: Свой человек
Сообщений: 55

Статус: Offline
Спасибо то что нужно!

 
exersizzeДата: Среда, 15.05.2013, 01:41 | Сообщение # 5
Группа: Администраторы
Сообщений: 716

Статус: Offline
Цитата (Петр)
Я бы использовал бы функции LOW() и HIGH().
о! я даже и не знал что есть такое :)


 
kip96Дата: Среда, 15.05.2013, 18:44 | Сообщение # 6
Группа: Свой человек
Сообщений: 166

Статус: Offline
http://bascomavr.3bb.ru/viewtopic.php?id=874
Цитата
RDW написал(а):

Легко делается оверлеями.


Всё намного проще. И памяти не занимает. Легко контролировать процесс. Код для DHT22 на этом принципе построен.


 
Форум » форумы » Общие вопросы по Bascom-AVR » разбить word на два байта
Страница 1 из 11
Поиск: