Estoy diseñando una aplicación de registro de datos que utiliza un microcontrolador AVR de 8 bits. Utiliza las interfaces TWI y SPI con el microcontrolador como maestro. Hay un dispositivo SPI, una tarjeta microSD y un dispositivo TWI, el acelerómetro MMA8452 . El acelerómetro se va a muestrear a 400~800 Hz
, y planeo almacenar cantidades relativamente grandes de datos para que haya escrituras semipresentadas en la tarjeta microSD a medida que se llene la memoria de la unidad.
Mi pregunta es cuál es el flujo de trabajo recomendado para habilitar / deshabilitar las interfaces. ¿Puedo mantener baja la SS para la interfaz SPI en toda mi aplicación o solo debo mantenerla activa cuando me conecto con la tarjeta microSD?
Además, ¿puedo mantener las interfaces maestras de TWI / SPI habilitadas, o debo habilitarlas solo cuando se requiere la interfaz?
ej. código (para TWI, similar para SPI):
// enable/disable during each operation
twi_master_enable(&TWIC);
// ... TWI-related operations
twi_master_disable(&TWIC);
O, es esto mejor:
// initialization/wake-up code
twi_master_enable(&TWIC);
// .. somewhere else in the code, perform TWI operations
// power-down/sleep code
twi_master_disable(&TWIC);