Buenas.. tengo un 16f876 a 20Mhz como master y un 16f88 con oscilador interno a 4Mhz como esclavo conectados en bus I2C con resistencias de
4k7, tengo problemas al realizar la comunicaci=F3n entre ellos, para que me funcione correctamente tengo que realizar un retardo en el master de unos 20us entre el env=EDo del start, direcci=F3n, dato, para el stop no es necesario, el c=F3digo me funciona correctamente al escribir en un memoria, pero no se la raz=F3n de que no funcione si no realizo el retardo, en teor=EDa el esclavo tendr=EDa que pasar SDA a nivel bajo (ACK), para indicarle al master que recibi=F3 el byte y mantener este estado mientras no pueda atender un nuevo byte del master(esto ultimo no estoy totalmente seguro?) no ser=EDa necesario realizar retardos ya que el propio protocolo es el encargado gestionar el trafico, =BFsabeis por donde puede estar el problema?- posted
hace 17 años