Autor Tema: I2C por software con proton y dos dispositivos  (Leído 1931 veces)

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

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
I2C por software con proton y dos dispositivos
« en: 07 de Enero de 2006, 19:26:00 »
Hola amigos:

Pues tengo una duda... estoy aprendiendo proton, y me dedique a un probar el I2C estoy utilizando los comandos Busin y Busout... segun la ayuda los parametros son:

BUSIN Control , { Address }, [ Variable {, Variable…} ]
BUSOUT Control , { Address } , [ OutputData ]

y esiste una delaracion para los pines a utilizar:

DECLARE SDA_PIN PORT. PIN

DECLARE SCL_PIN PORT . PIN

esto lo tengo un poco claro y pude hacer funcionar un programita para un DS1307

Hice algo como esto:

SCL_PIN   = PORTB.7
SDA_PIN   = PORTb.6

Esos dos pines utilizo

    Busin %11010000,0,[segu]

Esa es una de las partes para ller el reloj:

    Busout %11010000,0,[$00]

Asi escribo en el reloj.

Esto me funciona pero no se como hacer para utilizar un dispositivo mas, por ejemplo una memoria 24C04, como haria para escribir y leer en la memoria conectada por ejemplo a otros dos pines de un micocontrolador 16F877...?

Alguien tiene algun consejo o sujerencia...?  Avergonzado

Gracias de antemano...! Sonrisa Gigante

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: I2C por software con proton y dos dispositivos
« Respuesta #1 en: 08 de Enero de 2006, 19:36:00 »
Hola LordLafebre, yo no se usar el Proton, pero lo que si he trabajado con I2C, asi que por alli va mi ayuda.
1ro Todos los dispositivos I2C cuentan con una direccion para poder trabajar con uno solo a la vez; por ejemplo me parece que para tu reloj lo direccionas con %11010000 esta vendria a ser SU direccion, en cambio una memoria puede tener otra direccion como %11011100, pero esta direccion depende de como configures los pines en la misma memoria..

2do Para leer o escribir sobre un dispositivo I2C lo unico que cambia es el ultimo bit de la direccion(cero o uno), por lo cual en una red I2C como maximo se pueden direccionar 128 dispositivos.

3ro Si ya tienes armado tu circuito para tu reloj, no es necesario hacer otro circuito adicional, solo es necesario que conectes el SDA y SLC a la red, recuerda ponerle la resistencia de pullup (1K a 10K)

Bueno, Lord no se si te habre aclarado algo... Cualquier problema... estamos para ayudarnos...

Un abrazo, nos vemos....RebotadoRebotadoRebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: I2C por software con proton y dos dispositivos
« Respuesta #2 en: 10 de Enero de 2006, 11:15:00 »
Hola:

Gracias Victor por la ayuda, en efecto las direcciones de control para el RTC es %11010000 y para la memoria %10100000 voy a probar lo que me comentas y ya te contare, Gracias. Sonrisa Gigante