[elektro] C kérdés

VFX info at vfx.hu
Thu Jan 18 19:14:39 CET 2018


Hali!

Bár én nem C-zek, de vedd fel a bitsorrendet tömbbe és a how_many adja 
az indexet.
Valahogy így 8-bitre LEDTomb[0,1,3,7,15,31,63,127,255]

LED = LEDTomb[how_many]

if direction LED= {255 xor LED}

Ez ASM-ből is kb. 4-8 utasítás és a C is biztos szereti így.

ÜDV. VFX.



2018.01.18. 18:20 keltezéssel, Bali Zoltan írta:
> Hali!
>
> Most megtöröm a rádiócsendet, öőő,
> akarom mondani, mailcsendet :)
>
> Ezt ugye, nem úszom meg asm nélkül,
> ha a runtime fontos? STM ARM.
>
> void  FillLedBar(uint32_t  how_many,uint32_t  direction)
> {
>   uint32_t  i,val;
>
>   for(i=0;i<how_many;i++) {
>     val |= 1<<i;
>   }
>   if(direction) {
>     LedBarNoReverse(val);
>   } else {
>     LedBarReverse(val);
>   }
> }
>
> -----------------------------------------
>          elektro[-flame|-etc]
>



More information about the Elektro mailing list