8 #include <util/delay.h> 9 #include "../avr_helper.h" 10 #include "../hardware.h" 26 #define SPI_DisableSS_m(ss) do{PORT(PORT_SPI) |= (1<<(PIN_SS)); }while(0) 29 #define SPI_EnableSS_m(ss) do{PORT(PORT_SPI) &= ~(1<<(PIN_SS)); }while(0) 32 #define SPI_StatSS_m(ss) (!(PORT(PORT_SPI) & (1<<(PIN_SS)))) 35 #define SPI_WriteByte_m(data) do{ SPDR = data; while(!(SPSR & (1<<SPIF))); }while(0) 38 #define SPI_ReadByte_m(data) do{ SPDR = 0xff; while(!(SPSR & (1<<SPIF))); data = SPDR;}while(0) 45 inline static uint8_t SPI_ReadByte_i(
void){
47 while(!(SPSR & (1<<SPIF)));
57 void SPI_WriteByte(uint8_t data);
60 uint8_t SPI_ReadByte(
void);
63 uint8_t SPI_WriteReadByte(uint8_t data);
66 void SPI_WriteArray(uint8_t count, uint8_t *data);
69 void SPI_WriteReadArray(uint8_t count, uint8_t *data);