while (!UDA1380_Init(UDA1380_MIC_IN_LR & - (micIn != 0))) {} Bo mnie ten #!$%@? znak minusa. To fragment kodu od naszych żółtych przyjaciół ze wschodu i zastanawiam się co autor miał na myśli..
@phervers: nope. trick z minusem opiera się czysto dla bitowej reprezentacji. chodziło o to, by w przypadku gdy micIn == 0, to UDA1380MICINLR & 00000000, zaś gdy micIn != 0 to UDA1380MICINLR & 11111111. Równie dobrze można było to napisać tak:
Co w tym zapisie Was dziwi?
while (!UDA1380_Init(UDA1380_MIC_IN_LR & - (micIn != 0))) {}
Bo mnie ten #!$%@? znak minusa. To fragment kodu od naszych żółtych przyjaciół ze wschodu i zastanawiam się co autor miał na myśli..
#programowanie
mysle ze to rozwieje twoje watpliwosci :D
Komentarz usunięty przez autora
bool rzutowany na inta. dajmy na to 8 bitowego.
a) true daje nam 11111111 (bo negacja znaku dla 00000001)
b) false daje nam 00000000 (bo nie ma negacji znaku dla 00000000)
UDA1380Init(UDA1380MICINLR & (micIn == 0))
UDA1380Init(UDA1380MICINLR & (micIn ? -1 :