La mejor manera de leer desde un sensor que no tiene un pin de interrupción y requiere un tiempo antes de que la medida esté lista

Estoy tratando de conectar un sensor de presión (MS5803-14BA) con mi placa (NUCLEO-STM32L073RZ).

De acuerdo con laficha de dato (página 3), el sensor de presión requiere algunos milisegundos antes de que la medición esté lista para leerse. Para mi proyecto, me interesaría la resolución más alta que requiera alrededor de 10 ms para la conversión de los datos sin procesar.

esafortunadamente, este sensor de presión no tiene ningún pin de interrupción que pueda explotarse para ver cuándo la medición está lista y, por lo tanto, resolví temporalmente el problema poniendo un retraso después de la solicitud de nuevos datos.

No me gusta mi solución actual, ya que en esos 10 ms podría poner el mcu trabajando en otra cosa (tengo varios otros sensores conectados a mi placa), pero sin ningún pin de interrupción, no estoy seguro de qué es la mejor manera de resolver este problema.

Me vino a la mente otra solución: usar un temporizador que se dispara cada 20 ms y realiza las siguientes operaciones:

1.a Read the current value stored in the registers (discarding the first value)
1.b Ask for a new value

e esta manera, en la próxima iteración solo necesitaría leer el valor solicitado al final de la iteración anterior.

Lo que no me gusta es que mi medida siempre tenga 20 ms. Hasta que el retraso permanezca 20 ms, aún debería estar bien, pero si necesito reducir la velocidad, la "edad" de la lectura con mi solución aumentaría.

¿Tienes alguna otra idea sobre cómo lidiar con esto?

Gracias

Nota: Avíseme si necesita ver mi implementación actual.

Respuestas a la pregunta(2)

Su respuesta a la pregunta