Skip to content

AKAGUZZ/I2C-with-PIC16F887

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

I2C-with-PIC16F887

En este proyecto desarrollé la 'Libreria' de communicación I2C para el microcontrolador PIC16F887. En este repositorio encontrarás la comunicación en modo MASTER y SLAVE. El microcontrolador en modo Maestro es capaz de controlar modulos y dispositivos como un DS1307 (módulo RTC), módulo PCF8574 (para controlar por I2C una pantalla LCD), otros microcontroladores, etc. En modo Slave funciona como debería.

IMPORTANTE: Si usas la función Slave del microcontrolador PIC16F887 junto con un Maestro como la Raspberry Pi y Python, debes de desplazar la dirección del Slave un bit a la derecha en tu código de programación en python. Ejemplo:

addres_pic = 0101 0000 // Dirección del PIC (0x50)

correc_addres_in_pyton = 0010 1000 //Dirección del PIC en Python (0x28)

Otra cosa a considerar es que uses resistencias PULL-UP en los pines correspondientes del microcontrolador, en este caso en RC3 y RC4 para el correcto funcionamiento de la comunicación, de lo contrario, no funcionará. La resistencias recomendadas son de 4k a 10k. Particularmente uso resistencias de 10k.

Otras cosas a considerar:

-Falta implementar otras funciones, algunas de ellas interrupciones propias del funcinamiento de la comunicación I2C, como interrupciones por colisión de bits, interrupción por recibir un bit mientrás el buffer esta en modo transmición etc. Para implementarlas es recomendable leer el datasheet del PIC16F887.

image

About

Librería para la comunicación I2C en un PIC16F887

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published