Makro Abfrage

OP #4670229
Lesenswert?
• ▲
▼
Hallo zusammen

Ich möchte folgendes in einem Makro erledigen:
1
#define HW_LED_A(state)  state == 1 ? 1: GPIO_SetBit(GPIOA, GPIO_PIN_4); 0:GPIO_Reset(GPIOA, GPIO_PIN_4);

Ist dies möglich?
Ich möchte HW_LED_A(1) oder (0) schreiben können, um die LED entweder 
ein oder auszuschalten.

Danke
Gast #4670249
Lesenswert?
• ▲
▼
Hallo,

das sieht sehr nach STM32 SPL API aus. Dort gibt es auch
1
GPIO_WriteBit(GPIOx, PIN, STATE);

Das sollte dann in etwa so aussehen:
1
#define HW_LED_A(state) GPIO_WriteBit(GPIOA, GPIO_PIN_4, state)

Alternativ auch:
1
#define HW_LED_A(state)  { if(state == 0) { GPIO_Reset(GPIOA, GPIO_PIN_4); } else { GPIO_SetBit(GPIOA, GPIO_PIN_4); } }
sollte es auch tun.

Gruss,
Jay

P.S.: Sicher, dass es GPIO_Reset() heisst und nicht eher 
GPIO_ResetBits() (ähnliches gilt für GPIO_SetBit())?

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