Написал свой маленький протокол передачи команд.
теперь нужно передавать постоянно меняющуюся переменную.
передать её не проблема, а проблема грамотно разложить по битам. ниже привожу код со сдвигом битов.
код подсмотрел и переделал для реализации внутри одного устройства из протокола передачи i2c, но ничего не понял как работает. что-то куда-то сдвигается. пробовал по разному, но увы
вот код:
Код
CodeVision:
unsigned char mask=0x80;
if(dled<8)
{
if(cifra&0x80)
{
cifra1=cifra1+mask;
}
cifra<<=1;
cifra1>>=1;
}
unsigned char mask=0x80;
if(dled<8)
{
if(cifra&0x80)
{
cifra1=cifra1+mask;
}
cifra<<=1;
cifra1>>=1;
}
имеется переменная cifra с каким-либо значением. требуется побитово перекопировать её в cifra1. Подскажите как это правильно будет выглядеть? и как сдвиг работает поясните, если не сложно.
Заранее спасибо!