CortexM3 Assembler-Befehl für gesetztes Bit?

(Firma: EleLa - www.elela.de) #4006328
Lesenswert?

Hallo,

Gibt es einen Assembler Befehl, der aus den Bits:
1
#define GPIO_Pin_0                 ((uint16_t)0x0001)  /* Pin 0 selected */
2
#define GPIO_Pin_1                 ((uint16_t)0x0002)  /* Pin 1 selected */
3
#define GPIO_Pin_2                 ((uint16_t)0x0004)  /* Pin 2 selected */
4
#define GPIO_Pin_3                 ((uint16_t)0x0008)  /* Pin 3 selected */
5
: : :

die Nummer des (zu erst) gesetzten Bits zurück gibt:
1
BitNr = ????(GPIO_Pin_0); // BitNr = 0
2
BitNr = ????(GPIO_Pin_1); // BitNr = 1
3
BitNr = ????(GPIO_Pin_2); // BitNr = 2
4
BitNr = ????(GPIO_Pin_3); // BitNr = 3
In der CMSIS habe ich jetzt nichts gefunden.
Auch wenn bei "GPIO_Pin_0" die BitNr 1 wäre, ist das mir auch recht.

Ich wollte nur nicht immer eine FOR Schleife machen um das heraus zu 
finden.

Grüße Markus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren