Puedo mapear los pines del I2C del PIC 18F4550?

Buenas muchachos.. Estoy tratando de mejorar mi proyecto de graduacion para presentarlo y se me ocurrio utilizar un boton para generar una interrupcion, el problema es que he acaparado todos los pines de de INT_EXT del pic 18F4550, uno para utilizar una UART por software (puesto que ocupo 2), y las otras 2 para las lineas de I2C para conectar un RTC, sensor de luz, etc..... Entonces pense en mapear los pines de I2C a otras 2 patillas para que me deje libre las patillas de interrupcion externa. Si me dicen que utilice la funcion, por ejemplo, input (PIN_D2) cuando este en alto, no me esta funcionando y no se porque, ya que utilizo esa misma instruccion en el mismo proyecto y no me funciona...

Saludos cordiales
 
Si usas CCS podés mapear los pines usando la directiva
#use I2C...
Un ejemplo:
#use i2c(master, SDA=PIN_C4, SCL=PIN_C3) , vos podés elejir cualquier pin para la comunicación...de manera transparente al usuario el compilador implementa un bus I2C por software.
 
CCS utiliza un técnica para dejar los pines en estado flotante entonces actúan como colector abierto. Con esto vos podés usar cualquier pin disponible del microcontrolador para usar con el I2C.
En caso de usar micros AVR , CodeVisionAVR trae una función parecida.
 
Atrás
Arriba