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