Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola que tal me gustaria saber como utilizar el protocolo i2c en el pic 16f877 ya que tengo que hacer un enlace por rf pero no tengo idea de como programar en asembler este protocolo
El protocolo I2C es one-master/multi-slave. La secuencia mas o menos es la misma esta explicada en el datasheet del 16f877 (a partir de la página 73 para slave, y a partir de la página 78 para master)
En modo master hay 5 operaciones a tener en cuenta:
- START
- ReSTART
- STOP
- Tx/Rx
- ACK/NACK
La operativa mas o menos es esta (no te fies del todo de mis palabras que te lo digo de memória)
- START
- Tx Direccion y bit de R/W
- ReSTART
- Tx/Rx datos
- ACK /NACK
- ...
- STOP
Despues del ACK/NACK puedes volver a Tx/Rx datos y volver a enviar el ACK/NACK, por eso los puntos ...
S2
Ranganok Schahzaman
Bueno, pues como se ha demostrado tengo menos memoria que un pez al afirmar q el micro no tenia bus I2C.
En lo que si he acertado es q en el datasheet de las EEPROM de microchip se pueden encontrar buenos cronogramas para entender el funcionamiento que apunta Ranganok.
http://ww1.microchip.com/downloads/en/D ... 21203N.pdf
EN esta documentación es donde aprendí a manejar el I2C.
Salu2!
Hola a tod@s, roboticsBCN como se te ocurre decir que no tiene bus I2C por hardware, mirad primero las hojas de datos de los componentes antes de contestar, jejejejeje
Un cordial saludo
Francisco Balbuena
ROBOTIKA
Estaba plenamente convencido de que 16F877 no tenia I2C, de hecho, hace unos años lo usé para controlar un RTC y un sensor de temperatura y no recuerdo cual es la razón que me impulsó a implementar este protocolo por Soft.
Robotika perdóname si he cometido un pecado al equivocarme, pero afortunadamente somos muchos en el foro y la gente te corrige con rapidez. Creo que si cada vez q respondo tengo q mirar la documentación... vais a ver poco mi nombre en los posts.
Salu2
roboticsBCN robotika no te lo decia en mal sentido, quiza le interpretaste mal, espero que no te hayas ofendido, un saludo