Autor Tema: Dirección i2c esclavo  (Leído 1458 veces)

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

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Dirección i2c esclavo
« en: 28 de Mayo de 2006, 18:58:47 »
Como se cambia en CCS la dirección del esclavo por programa?, solo se que se pude indicar con el #USE i2c, pero existe alguna instrucción que permita cambiar esta dirección dentro del programa principal (main), tambien me sirve una solución en asm.

Un saludo.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Dirección i2c esclavo
« Respuesta #1 en: 28 de Mayo de 2006, 19:32:51 »
Me contesto yo solo  :lol:. Buscando he localizado la forma de hacerlo:

Esto son los trozos de programa para definir la dirección de un esclavo guardada en la EEPROM:

Código: CSS
  1. #define ADDRESS_EEPROM_SLAVE      0x2100 // Comienzo de la EEPROM de DATOS
  2. #define ADDRESS_SLAVE_DEFAULT     0xA0    // Dirección por defecto del Esclavo
  3.  
  4. #rom ADDRESS_EEPROM_SLAVE={ADDRESS_SLAVE_DEFAULT} // Guardamos la dirección por defecto (0xA0) en la primera dirección de la EEPROM

Con esto hemos guardado en la EEPROM, 1ª posición la dirección que tendra pro defecto el esclavo.

Definimos el registro donde se guarda la dirección del esclavo i2c:

Código: CSS
  1. unsigned char SSPADD;
  2. #locate SSPADD=0x93

Y finalmente cuando comenzamos el programa ponemos la dirección que tenemos en la memoria:

Código: CSS
  1. SSPADD = read_eeprom(ADDRESS_EEPROM_SLAVE);

Un saludo a todos.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús


 

anything