Estoy intentando leer datos de un sensor RGB (S9706) y pensé en usar el SPI para las lecturas.
El problema es que el sensor quiere una pequeña pausa de 3-4us después de cada 12 bits (la resolución de los colores es de 12 bits). y el hardware SPI puede leer 7 u 8 bits a la vez. Entonces, si elijo leer 7 bits cada vez, no podré hacer una pausa después de los 12 bits, y podría perder algunos datos mientras leo 2 bits más de los que debería.
¿Hay una manera de leer exactamente 12 bits (12 pulsos de reloj solamente) con el SPI, o debo escribir una función de bit bangging para hacer lo que quiero?
¡Gracias!
EDIT
Eventualmente, elijo hacerlo con golpes de bits, aunque creo que podría ser posible usar SPI con una frecuencia baja de 200Khz. Con 200Khz, cada reloj será 10us, 50% dc = 5us, y es más que la pausa que necesito después de cada 12 bits.
lo que no estoy seguro es lo que sucederá entre los bits 37 a 40, porque el SPI leerá 5 bytes (40 bits) y el sensor tiene datos para 36 bits. Podría comenzar a enviar nuevos datos de los siguientes 36 bits.