Доброго времени суток...
В Си я новичок, и столкнулся со следующей проблемой:
есть 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
|