El RTC MCP7940N se utiliza en el sistema. El microcontrolador y RTC MCP7940N están conectados a través de la interfaz I2C.
Me gustaría saber cuál es el mejor diseño para leer el valor del temporizador del RTC.
Método # 1: Al recibir la solicitud de otros módulos de alto nivel, las tramas I2C se guardan y se envían. La interrupción de recepción de datos I2C se utiliza para leer los datos I2C y calcular el valor de tiempo. Se utiliza un mecanismo de evento para informar a los módulos requeridos sobre la disponibilidad del nuevo valor del temporizador
Método # 2: La tarea cíclica se utiliza para enviar las tramas I2C cada 5 ms y los datos I2C recibidos se sondean mediante la tarea cíclica para calcular el valor del temporizador. Los módulos de alto nivel pueden leer el valor de tiempo de manera sincronizada, pero el valor del temporizador tendrá un error de precisión de 5 ms debido a que el valor del temporizador RTC se lee cada 5 ms.
Por favor, proporcione sus opiniones sobre esto y el mejor enfoque para leer el valor del temporizador sin cargar mucho la CPU.