X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Favr%2Fao_spi_slave.c;h=a400b8a0a929f0485b8d8da894f43c17ec098f79;hb=1747ab07dab6f4e977e0c3e83b57510cd668e369;hp=3aa0b97f51496b0ff109a0efac48a68c89ce3f0f;hpb=e60c470b426b7be08a33133e7d8c94201d7e96d4;p=fw%2Faltos diff --git a/src/avr/ao_spi_slave.c b/src/avr/ao_spi_slave.c index 3aa0b97f..a400b8a0 100644 --- a/src/avr/ao_spi_slave.c +++ b/src/avr/ao_spi_slave.c @@ -18,7 +18,7 @@ #include "ao.h" uint8_t -ao_spi_read(uint8_t *buf, uint8_t len) +ao_spi_slave_recv(uint8_t *buf, uint8_t len) { while (len--) { while (!(SPSR & (1 << SPIF))) @@ -30,7 +30,7 @@ ao_spi_read(uint8_t *buf, uint8_t len) } void -ao_spi_write(uint8_t *buf, uint8_t len) +ao_spi_slave_send(uint8_t *buf, uint8_t len) { while (len--) { SPDR = *buf++; @@ -44,9 +44,8 @@ ao_spi_write(uint8_t *buf, uint8_t len) static uint8_t ao_spi_slave_running; -ISR(PCINT0_vect) +ISR(PCINT0_vect, ISR_BLOCK) { - cli(); #if SPI_SLAVE_PIN_0_3 if ((PINB & (1 << PORTB0)) == 0) #endif @@ -61,7 +60,6 @@ ISR(PCINT0_vect) } else { ao_spi_slave_running = 0; } - sei(); } void