Autor Tema: Dos buses I2C en CCS  (Leído 6310 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Dos buses I2C en CCS
« en: 30 de Mayo de 2008, 14:52:37 »
Puesto que los pines que uso para I2C en CCS se especifican una sóla vez en una directiva del preprocesador ( #use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL) ), si necesito montar en un mismo PIC dos buses I2C, ¿alguien sabe cómo se hace?

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Dos buses I2C en CCS
« Respuesta #1 en: 30 de Mayo de 2008, 15:04:22 »
Saludos maestro.

A mi se me ocurre que deberia hacerse tal y como lo hacen el el EX_ENCRY.C solo que con el #use i2c (....) y se definen las funciones para cada puerto i2c despues de cada directiva correspondiente, pero yo solo lo he probado con el #use rs232.

Saludos
El papel lo aguanta todo

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Dos buses I2C en CCS
« Respuesta #2 en: 30 de Mayo de 2008, 15:24:47 »
Saludos maestro nocturno!
No tengo tanta experiencia como vos, pero lo que entiendo es que uno puede en ccs hacer que un bus i2c sea por hardware y otro sea por software... y entonces le pones un nombre a cada bus. En la directiva #use i2c hay un parámetro que es STREAM=id, donde id es el nombre del bus i2c... puedes declarar una directiva #use i2c con STREAM=bus_1 y otra con bus_2, y luego cuando por ejemplo, vayas a escribir, la instrucción es i2c_write(STREAM, DATA), donde en STREAM eliges cuál de los dos i2c que has declarado vas a usar...
Ok nos leemos!  :mrgreen:
« Última modificación: 30 de Mayo de 2008, 15:42:33 por firepic »
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Dos buses I2C en CCS
« Respuesta #3 en: 30 de Mayo de 2008, 15:35:27 »
No estoy yo tan seguro de que STREAM sea válido en el #USE I2C .. sé que en el #USE RS232 si vale, y además aparece en la lista de parámetros del mismo pero en el I2C no se menciona para nada. Pero por probar que no quede.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dos buses I2C en CCS
« Respuesta #4 en: 30 de Mayo de 2008, 15:44:48 »
Muchas gracias Firepic, tu solución funciona perfectamente.
No se me había ocurrido pensar que el I2C manejaba los STREAM como el RS232, pero sí, ahora puedo confirmarlo.
#use i2c(master, sda=EEPROM_SDA, scl=EEPROM_SCL, STREAM=interna)
#use i2c(master, sda=EEPROM2_SDA, scl=EEPROM2_SCL, STREAM=externa)

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Dos buses I2C en CCS
« Respuesta #5 en: 30 de Mayo de 2008, 15:46:26 »
Maestro Diego, qué manual de CCS usas? Yo tengo el de la versión 4, de Agosto de 2007, y aparece lo de STREAM=id en la directiva #use i2c, en la pag. 120.
Es el último parámetro que se describe.
Aquí dejo la imagen:



Yo no lo he probado pero si aparece allí pues debería funcionar supongo  :D
Como dice el maestro redpic, a probar pues!
Nos leemos!
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Dos buses I2C en CCS
« Respuesta #6 en: 30 de Mayo de 2008, 15:54:47 »
Guao ya lo habías solucionado antes de que escribiera el segundo mensaje, eso se llama velocidad!  :P
Me alegra que hayas solucionado tu problema maestro nocturno.  :-/
Eso nos ayuda a todos, ya sabemos que se pueden implementar dos buses i2c en ccs.  :-)
Nos leemos pues!  :mrgreen:
« Última modificación: 30 de Mayo de 2008, 18:45:48 por firepic »
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Dos buses I2C en CCS
« Respuesta #7 en: 30 de Mayo de 2008, 17:29:33 »
Hola

Si es necesario el STREAM?, yo he corrido los dos COM (HW y SW) con el #use rs232 sin el STREAM teniendo cuidado de definir las funciones que van a usar cada puerto justo despues de la directiva #use. Esperemo que el maestro Nocturno lo pruebe para salir de dudas.  :-)  :-)

Saludos
El papel lo aguanta todo

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dos buses I2C en CCS
« Respuesta #8 en: 30 de Mayo de 2008, 17:47:54 »
¿Definir las funciones después del #USE?

Vale, lo probaré también y te cuento.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Dos buses I2C en CCS
« Respuesta #9 en: 30 de Mayo de 2008, 17:52:56 »
Maestro Diego, qué manual de CCS usas? Yo tengo el de la versión 4, de Agosto de 2007, y aparece lo de STREAM=id en la directiva #use i2c, en la pag. 120.

Ja, ja, ja  :D :D :D Yo aún estoy en el Paleolítico de la 3.242 Ja, ja, ja  :D :D :D
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Dos buses I2C en CCS
« Respuesta #10 en: 30 de Mayo de 2008, 18:35:26 »
Es que aun conserva su vieja licencia...de conducir. :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Dos buses I2C en CCS
« Respuesta #11 en: 30 de Mayo de 2008, 18:37:27 »
Ja, ja, ja  :D :D :D Yo aún estoy en el Paleolítico de la 3.242 Ja, ja, ja  :D :D :D
Es que aun conserva su vieja licencia...de conducir. :D :D
Naguará uno con ustedes no sólo aprende, sino que se muere de la risa! Qué cómicos son! :D  :D  :D
No pues sería bueno que te cambiaras a la versión 4 del CCS maestro Diego, trae varias actualizaciones bien interesantes.
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dos buses I2C en CCS
« Respuesta #12 en: 31 de Mayo de 2008, 05:24:17 »
Comprobada también la posibilidad de poner dos #use i2c seguidos de sus funciones sin utilizar stream. Funciona de lujo
Muchas gracias Firepic

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Dos buses I2C en CCS
« Respuesta #13 en: 31 de Mayo de 2008, 11:43:40 »
Bueno ahí da las gracias a MLO quien fue el que hizo mención de esa última opción que has probado.
Nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Dos buses I2C en CCS
« Respuesta #14 en: 31 de Mayo de 2008, 11:48:02 »
Tienes razón, pues al César lo que es del César.

Muchas gracias por tu ayuda MLO__


 

anything