Tengo experiencia en programación, pero soy muy nuevo en microcontroladores. Perdóneme si esta pregunta es muy básica o no tiene mucho sentido. Estoy tratando de aumentar mis conocimientos y la curva de aprendizaje parece ser empinada en algunas áreas.
Estoy tratando de hacer que I2C funcione con un nuevo IC que compré, el PIC12LF1552. Este IC viene con un módulo I2C, por lo que no debería tener que hacer un bit-bang. Sin embargo, parece que XC8 no es compatible con I2C en la serie PIC12. Parece que MPLAB X no puede encontrar el archivo de inclusión ic2.h (es posible que esto no sea 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, lo que parece que no funcionará porque 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?
Depende de lo que entiendas por "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 fácilmente los periféricos I2C y las rutinas de manejo en C como lo haría 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 sondee/interrumpa según sea necesario.
(A menudo es más fácil codificar de esta manera, ya que no depende de las bibliotecas de código cerrado que pueden no hacer exactamente lo que anuncian).
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 librería de periféricos. Tendrá que escribir su propia implementación/controladores para el periférico I2C manipulando directamente los registros.
Casa en la playa
adam lorenzo
Casa en la playa
adam lorenzo