diff options
Diffstat (limited to 'src/sam3x8e/gpio.c')
-rw-r--r-- | src/sam3x8e/gpio.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/sam3x8e/gpio.c b/src/sam3x8e/gpio.c index 205528d5..acfe0d90 100644 --- a/src/sam3x8e/gpio.c +++ b/src/sam3x8e/gpio.c @@ -69,13 +69,21 @@ fail: } void -gpio_out_toggle(struct gpio_out g) +gpio_out_toggle_noirq(struct gpio_out g) { Pio *regs = g.regs; regs->PIO_ODSR ^= g.bit; } void +gpio_out_toggle(struct gpio_out g) +{ + irqstatus_t flag = irq_save(); + gpio_out_toggle_noirq(g); + irq_restore(flag); +} + +void gpio_out_write(struct gpio_out g, uint8_t val) { Pio *regs = g.regs; |