Enviando y recibiendo datos // Función para enviar y recibir datos para el maestro y el esclavo
unsigned char spi_tranceiver (unsigned char data)
{
// Load data into the buffer
SPDR = data;
//Wait until transmission complete
while(!(SPSR & (1<<SPIF) ));
// Return received data
return(SPDR);
}
¿Qué parte de él establece el pin (MOSI) alto y bajo para transferir el bit. Todo lo que veo es la espera del bit de interrupción (SPIF).
¿AVR MCU maneja automáticamente todas las rutinas relacionadas con los pasadores de empuje con solo establecer el bit SPE en 1?
"Para enviar datos, cárguelos en el Registro de datos SPI (SPDR) y luego espere hasta que se establezca el indicador SPIF. Cuando se establece el indicador SPIF, los datos a transmitir ya se transmiten y se reemplazan por Los datos recibidos. Por lo tanto, simplemente devuelva el valor del Registro de datos SPI (SPDR) para recibir los datos. "
Otra línea de la misma publicación: no espero que mcu comience a transmitir tan pronto como coloque los datos en el registro de datos