Autor Tema: Cambiar los hilos de comunicación I2C en un PIC18F4550 (mikroC PRO for PIC)  (Leído 2404 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alexismayoc

  • PIC10
  • *
  • Mensajes: 3
Estoy trabajando con un sensor (Giroscopio, acelerómetro y brújula) MinIMU 9 v5 del fabricante Pololu el cual trabaja con el protocolo I2C para la transmisión/recepción de la información. A la vez estoy usando un par de encoders magnéticos para monitorear 2 motores. Todo esto conectado a un PIC18F4550. Para manejar los pulsos de ambos encoders utilizo las interrupciones externas INT1 e INT2 del MCU pero resulta que el pin de la interrupción externa INT1 esta relacionado con la linea de reloj SCL del protocolo I2C.

Mi pregunta es, ¿ Hay alguna forma de cambiar por codigo los pines SDA y SCL por unos que no interfieran con el propósito de mi proyecto?.

Comento que este pic cuenta con 3 interrupciones externas INT0, INT1 e INT2 y las que yo estoy utilizando son las interrupciones 1 y 2, la interrupción INT0 queda descartada de su uso ya que está relacionada con la linea de datos SDA. Estoy usando el compilador de mikroC PRO for PIC.

Les comparto que mi proyecto es un seguidor de linea que sea capaz de memorizar la pista con los encoders y de reconocer si esta en curva o recta atraves del giroscopio incorporado en el MinIMU 9 v5, para que con toda esta información en conjunto pueda acelerar o disminuir su velocidad dependiendo de si esta en una recta o en una curva.

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Cambiar los hilos de comunicación I2C en un PIC18F4550 (mikroC PRO for PIC)
« Respuesta #1 en: 14 de Agosto de 2017, 04:50:20 »
En la directiva #use i2c ,  añade "FORCE_SW"

 ya puedes elegir los pines que quieras para sda y scl. Solo que de esta forma no usaras el modulo del pic pero no creo que te importe.

  Saludos

Desconectado alexismayoc

  • PIC10
  • *
  • Mensajes: 3
Re:Cambiar los hilos de comunicación I2C en un PIC18F4550 (mikroC PRO for PIC)
« Respuesta #2 en: 15 de Agosto de 2017, 02:00:45 »
En la directiva #use i2c ,  añade "FORCE_SW"

 ya puedes elegir los pines que quieras para sda y scl. Solo que de esta forma no usaras el modulo del pic pero no creo que te importe.

  Saludos
Gracias por atender mi duda. Podrias explicarme como funciona eso de que ya no utilizaria el modulo, en que me puede afectar ya que realmente quiero comunicarme por i2c.

Saludos
« Última modificación: 15 de Agosto de 2017, 02:11:14 por alexismayoc »

Desconectado vixctor

  • PIC16
  • ***
  • Mensajes: 109
Re:Cambiar los hilos de comunicación I2C en un PIC18F4550 (mikroC PRO for PIC)
« Respuesta #3 en: 15 de Agosto de 2017, 05:07:32 »
Más fácil aún, elige el microcontrolador correcto...

Te recomiendo un PIC18F46K22, no solo tiene más memoria que el 4550 sino qué además posee doble UART, dos modulos MSSP que puedes usar para I2C y SPI o 2 I2C o 2 SPI, además que las entradas de interrupción las deja libre ese micro, así que no te interfirirían...

Desconectado alexismayoc

  • PIC10
  • *
  • Mensajes: 3
Re:Cambiar los hilos de comunicación I2C en un PIC18F4550 (mikroC PRO for PIC)
« Respuesta #4 en: 16 de Agosto de 2017, 02:31:39 »
Oh! muchas gracias estuve revisando el datasheet y parece que ese se adapta mas a mis necesidades.
Saludos amigo