реклама на сайте
подробности

 
 
> Байты, биты, есть вопрос
Cpraum
сообщение Nov 7 2009, 10:48
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 5-11-09
Пользователь №: 53 425



Доброго времени суток...

В Си я новичок, и столкнулся со следующей проблемой:

есть 2 байта:
byte1 = 0byyyyxxxx
byte2 = 0bxxxxxxxx

Два этих байта управляют ЦАП, где биты "y" - это константы(параметры ЦАП)
а биты "x" - задают значение напряжения, т.е. переменные.
Данный ЦАП являеться 12 разрядным, следовательно для задяния напряжения
необходимо 12 бит (от 0 = 000000000000 до 4095 = 111111111111).

Возникает такой вопрос: как перевести int в 12 битов, а потом сделать из них два байта следующим образом:
byte1 = 0byyyyxxxx
byte2 = 0bxxxxxxxx
где эти 12 битов встанут на места "x".

Вот пример:

int i = 3589;
12 битов от i = 111000000101;

Получаем два байта:
byte1 = 0byyyy1110
byte2 = 0b00000101

где "y" - константы

111000000101 = 1110 00000101
-------------------- \/--|----\/------------
______конец 1-го байта | во второй байт____

Сообщение отредактировал Cpraum - Nov 7 2009, 10:50
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 01:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01333 секунд с 7
ELECTRONIX ©2004-2016