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)