I2C en PIC12s usando MPLAB x (win7) y XC8

1

Soy de un fondo de programación, pero muy nuevo para los microcontroladores. Perdóneme si esta pregunta es muy básica o no tiene sentido completo. Estoy tratando de mejorar mi conocimiento, y la curva de aprendizaje parece ser pronunciada en algunas áreas.

Estoy intentando que I2C trabaje con un nuevo IC que compré, el PIC12LF1552. Este IC viene con un módulo I2C en él, así que no debería tener que disparar. Sin embargo, parece que XC8 no es compatible con I2C en la serie PIC12. Parece que MPLAB X no puede encontrar el archivo incluido ic2.h (esto puede no ser realmente un problema, podría ser que las rutas no estén configuradas correctamente), así que vinculé el archivo con una ruta completa. i2c.h incluye pconfig.h en la línea 32, y pconfig.h incluye p18cxxx.h en la línea 16, que parece que no funcionará ya que es para una serie de chips diferente.

Entonces, mi pregunta es, ¿qué soporte hay para ejecutar I2C nativo en los circuitos integrados de la serie PIC12?

    
pregunta Beachhouse

2 respuestas

1

Depende de lo que quieras decir con "soporte". El hecho de que no haya una biblioteca enlatada no significa que no pueda usar el periférico.

Los compiladores XC ofrecen acceso directo a los registros de funciones especiales y capacidades de interrupción del dispositivo de destino. Puede configurar los periféricos I2C y las rutinas de manejo en C con la misma facilidad con que lo hace en lenguaje ensamblador. La hoja de datos del dispositivo incluirá todos los detalles para configurar estos periféricos. Simplemente lea la hoja de datos, escriba los valores necesarios en los SFR necesarios y realice una encuesta / interrupción según sea necesario.

(a menudo es más fácil codificar de esta manera, ya que no dependes de bibliotecas de código cerrado que pueden no hacer exactamente lo que anuncian).

    
respondido por el Adam Lawrence
1

El compilador Microchip XC8 tiene bibliotecas periféricas integradas (incluidas las bibliotecas I2C), pero solo para la familia de micros PIC18F. Los otros micros de 8 bits (PIC10F, PIC12F, PIC16F) no tienen una biblioteca periférica. Tendrá que escribir su propia implementación / controladores para el periférico I2C manipulando directamente los registros.

    
respondido por el m.Alin

Lea otras preguntas en las etiquetas