Estoy usando un solo PIC16F18857 como maestro I2C para hablar con cinco PIC16F1615 en el bus. Todo funciona bien, en su mayor parte, sin embargo, he estado experimentando un "bloqueo" en el que el maestro está atascado en un bucle esperando que se complete una lectura. Me las arreglé para atraparlo en el analizador y esto es lo que estoy viendo:
LaterceraseñalesunaentradaUARTasíncronaalPIC16maestro.Estabatratandodeversieltiempodelamismaenrelaciónconelestabarelacionadodealgunamanera,peronohevistonadaquelorespaldehastaahora.
Actualmente,solohaydosesclavosenelbus,ylalecturasiemprefalladurantelalecturaalprimeresclavo.
Loquemeparececuriosoesqueelmaestro(quecontrolaelreloj)parecedejardesincronizaralesclavodespuésdetresciclosdereloj(veotresciclosconstantemente)ymeestoyperdiendounainterrupción,probablementeporqueLasecuenciadelrelojnoestáterminandotodossusciclos.Mesentiríamenosdesconcertadosielrelojsemantuvierabajoporalgo,peroparecequeelrelojestáatascadoenelestadoalto"no confirmado".
¿Bajo qué circunstancias puede suceder esto?
- He revisado las erratas de silicio para ambas partes, no se enumera nada relacionado con este problema en ninguna parte
- Traté de ver si su correlación con otra activación de interrupción periférica, ninguno de los datos que he recopilado parece apuntar a que eso es un problema
¡Gracias!