La pregunta fue:
I want to read temperature from TC74 using I2C module of PIC16F887, however, in Proteus
simulation, I see noises in I2C Debugger Tool's output.
Me dijo que tenía "Transición de SCL espuria". Cualquier otra información acerca de la pregunta, como esquemas, código y captura de pantalla, se puede encontrar en las revisiones anteriores .
El problema se solucionó después de agregar un retraso de 4us después de una condición de reinicio, como se indica en la hoja de datos como:
START Condition Hold Time - Min: 4us
Tiempo de configuración de la condición de ARRANQUE (para condiciones de ARRANQUE repetidas) - Min: 4us
Tiempo de configuración de la condición de PARADA - Min: 4us
Eso significa que debemos siempre leer la hoja de datos a fondo primero. Supongo que la razón por la que las personas en Internet no cometen ningún error cuando no obedecen esos tiempos de espera es que su velocidad de reloj es baja y no necesitan poner un retraso en la unidad de control.
El código de trabajo y cualquier otra información de esta publicación se pueden encontrar en las revisiones anteriores de la misma. Para ver la versión final de la pregunta antes de esta reducción, simplemente vaya a esta página .