diff options
-rw-r--r-- | tamper.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -111,14 +111,23 @@ spi_setup(int on_flag) static inline void spi_write(uint8_t val) { + /* Move the value to be sent to the SPI slave into the SPI + register. This starts the SPI clock. */ SPDR = val; + + /* Wait for the byte to be shifted into the slave. */ loop_until_bit_is_set(SPSR, SPIF); } static inline uint8_t spi_read() { + /* Start clocking the SPI slave by moving a dummy byte (0) into the + SPI register and wait for the byte from the slave to be shifted + in. */ spi_write(0); + + /* Read the SPI register and return the value. */ return SPDR; } |