Donde MOSI se activa bajo o alto

0

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

    
pregunta Anton Stafeyev

1 respuesta

0

El sistema tiene un búfer único en la dirección de transmisión y un búfer doble en la dirección de recepción. Esta significa que los bytes que se transmitirán no se pueden escribir en el Registro de datos SPI antes del ciclo de turno completo esta completado. Sin embargo, cuando se reciben datos, se debe leer un carácter recibido de los Datos SPI. Regístrese antes de que el siguiente carácter se haya cambiado completamente. De lo contrario, se perderá el primer byte.

En el modo esclavo SPI, la lógica de control muestreará la señal entrante del pin SCK. Para asegurar la correcta muestreo de la señal del reloj, los periodos mínimo y mínimo deben ser más largos que dos relojes de CPU ciclos.

Cuando el SPI está habilitado, la dirección de datos de MOSI, MISO, SCK y Los pines SS están anulados De acuerdo a la tabla de abajo. Para obtener más detalles sobre las anulaciones automáticas de puertos, consulte el Puerto IO descripción. Tabla 23-1. SPI Pin Ove

enlace

    
respondido por el Anton Stafeyev

Lea otras preguntas en las etiquetas