12 DDRB |= (1 << PB5) | (1 << PB7) |
22 DDRB |= (1 << PB2) | (1 << PB3) | (1 << PB4);
135 for (
int i = 0; i < length; i++) {
136 unsigned char tx = 0xFF;
142 while (!(SPSR & (1 << SPIF))) {
158 while (!(SPSR & (1 << SPIF))) {
int spi_recieve_n(enum spi_slave *slave, unsigned char *out, int length)
Receive several bytes from a slave.
int spi_send_n(enum spi_slave *slave, unsigned char *data, int length)
Send a sequence of bytes to a slave without reading response.
int spi_ready()
Check if the SPI subsystem is initialized.
int spi_duplex(enum spi_slave *slave, unsigned char *data, unsigned char *out, int length)
Full-duplex SPI transfer.
int spi_set_slave_select(enum spi_slave *slave, unsigned char state)
Set the slave-select line for the given device.
int spi_push(enum spi_slave *slave, unsigned char data, unsigned char *out)
Push one byte to a slave and optionally read the response.
int spi_send(enum spi_slave *slave, unsigned char data)
Send a single byte to a slave.
int spi_recieve(enum spi_slave *slave, unsigned char *out)
Receive one byte from a slave.
spi_slave
Identifiers for available SPI slave devices.
int spi_init()
Initialize SPI in master mode.
static unsigned char _ready
Utility and helper functions for joystick, LED debugging, and mapping.