32 #ifdef SUPPORT_FOR_MCP2515__ 37 #if (SPI_PRESCALER == 2) || (SPI_PRESCALER == 8) || (SPI_PRESCALER == 32) || (SPI_PRESCALER == 64) 38 #define R_SPSR (1<<SPI2X) 39 #define SPI_PRESCALER_ (SPI_PRESCALER * 2) 42 #define SPI_PRESCALER_ SPI_PRESCALER 45 #define SPI_CLOCK_RATE_BIT0 (1<<SPR0) 46 #define SPI_CLOCK_RATE_BIT1 (1<<SPR1) 48 #if (SPI_PRESCALER_ == 4) 50 #elif (SPI_PRESCALER_ == 16) 51 #define R_SPCR SPI_CLOCK_RATE_BIT0 52 #elif (SPI_PRESCALER_ == 64) 53 #define R_SPCR SPI_CLOCK_RATE_BIT1 54 #elif (SPI_PRESCALER_ == 128) 55 #define R_SPCR SPI_CLOCK_RATE_BIT1 | SPI_CLOCK_RATE_BIT0 57 #error SPI_PRESCALER must be one of the values of 2^n with n = 1..7! 60 #error SPI_PRESCALER not defined! 67 #ifndef USE_SOFTWARE_SPI 69 SPCR = (1<<SPE)|(1<<MSTR) | R_SPCR;
79 #ifdef USE_SOFTWARE_SPI 113 while( !( SPSR & (1<<SPIF) ) )
121 #endif // SUPPORT_FOR_MCP2515__
void mcp2515_spi_init(void)
Initialize SPI interface.
uint8_t spi_putc(uint8_t data)
Write/read one byte of the SPI interface.