Autor Tema: I2C "Muy lento"  (Leído 1817 veces)

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

Desconectado PicMinor

  • PIC16
  • ***
  • Mensajes: 222
I2C "Muy lento"
« en: 24 de Julio de 2018, 07:09:53 »
¡Saludos al foro!

Por razones técnicas tengo la necesidad de usar un bus I2C muy lento pero la función i2c_speed() sólo es válida cuando usamos el módulo I2C por hardware lo que no es mi caso.

Se trata de leer datos de un chip pero las líneas están muy filtradas por lo que tengo que hacerlo a muy baja velocidad. Anteriormente lo hacía mediante rutinas Bits-Bang pero ahora necesito hacerlo mediante las funciones del CCS y no consigo bajar la velocidad. ¿Alguna idea?

¡Gracias por anticipado!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:I2C "Muy lento"
« Respuesta #1 en: 24 de Julio de 2018, 12:22:01 »
Voy a pensar tu problema en lo absurdo, simplista y sin complicarme.

Si tu problema es que NO lo podes hacer por hardware, entonces no te queda otra que por software ( "bit banging" ).

Pienso que es un capricho el querer usar las funciones de CCS, ya que seria lo mismo que usar TU propia funcion. El resultado tanto en la parte de programa, como en el espacio que ocupa el micro es igual...

¿Por que necesitas que sea SI o SI la funcion de CCS? Es la pregunta que me hago

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re:I2C "Muy lento"
« Respuesta #2 en: 24 de Julio de 2018, 15:02:06 »
Cuando dices lento, cual es la velocidad a la que necesitas transmitir??

Segun Wikipedia hay varios estandar, el mas bajo es 0,1 mbit/seg.

https://es.wikipedia.org/wiki/I%C2%B2C

Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado PicMinor

  • PIC16
  • ***
  • Mensajes: 222
Re:I2C "Muy lento"
« Respuesta #3 en: 25 de Julio de 2018, 07:15:32 »
¡ Gracias por las respuestas !

Ya he solucionado el problema trabajando en modo "slow" y verificando las operaciones. De vez en cuando tengo algún error pero repitiendo la operación se soluciona.