Ausgang toggeln in ASM

Gast #3264590
Lesenswert?

Hallo liebes Forum,

ich habe zwei Makros um einen Pin am Controller "EIN" bzw. "AUS" zu 
schalten.
1
#define set_port_pin_asm(port, bit) \
2
                    __asm__ __volatile__ \
3
                    ("sbi %[io_port], %[io_pin]"::\
4
                    [io_port] "I" (_SFR_IO_ADDR(port)), [io_pin] "i" (bit));
5

6
#define clr_port_pin_asm(port, bit) \
7
                    __asm__ __volatile__ \
8
                    ("cbi %[io_port], %[io_pin]"::\
9
                    [io_port] "I" (_SFR_IO_ADDR(port)), [io_pin] "i" (bit));
Gibt es denn eine Möglichkeit einen Pin auch zu toggel?

Das hier geht leider nicht :.o(
1
#define toggle_port_pin_asm(port, bit) \
2
                              __asm__ __volatile__ \
3
                              ("sbic %[io_port], %[io_pin]\,cbi %[io_port], %[io_pin],sbi %[io_port], %[io_pin]"::\
4
                              [io_port] "I" (_SFR_IO_ADDR(port)), [io_pin] "i" (bit));

Hat jemand einen Vorschlag?

Viele Grüße,
Peter ;o)

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