Autor Tema: Demora/pausa/retraso de write_eeprom  (Leído 7925 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Demora/pausa/retraso de write_eeprom
« Respuesta #15 en: 28 de Mayo de 2011, 18:30:06 »
Por ejemplo creando una clase:

Eso es una estructura para ser una clase le hace falta tomar muuucha sopa  :D :D
:D :D :D  :oops: No se de donde saque eso!  :D Bastante más sopa! Es que vengo emocionado, BARCELONA CAMPEON!!! QUE PASEO LE DIO AL MANCHESTER... perdón el off topic  :oops: :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado Braulio

  • PIC12
  • **
  • Mensajes: 52
Re: Demora/pausa/retraso de write_eeprom
« Respuesta #16 en: 30 de Mayo de 2011, 16:33:53 »
Muchas Gracias Maunix y Suky por vuestras respuestas. Teneis razón hacerlo a mano es la solución.

Elegí programar en C la secuencia de escritura de la EEPROM, y ya que Suky me puso el ejemplo con una estructura, intenté declarar por primera vez en mi vida una estructura... pero con nefastos resultados. Este es mi código:

Código: C
  1. #BYTE    EECON2       = getenv("SFR:EECON2")
  2. #BYTE    EEDATA       = getenv("SFR:EEDATA")
  3. #BYTE    EEADR        = getenv("SFR:EEADR")
  4. #BIT     GIE          = getenv("SFR:INTCON").7
  5.  
  6. typedef struct
  7.    {
  8.    boolean  RD    : 1;
  9.    boolean  WR    : 1;
  10.    boolean  WREN  : 1;
  11.    boolean  WRERR : 1;
  12.    unsigned       : 4;
  13.    }
  14. EECON1bits;
  15.  
  16. #BYTE    EECON1bits    =  getenv("SFR:EECON1")
  17.  
  18. void escribir_eeprom(void)
  19.    {
  20.    EEADR = dir_ee;
  21.    EEDATA= val_ee;
  22.    EECON1bits.WREN  = 1;
  23.    deshab_int:
  24.    GIE   = 0;
  25.    if(GIE) goto deshab_int;
  26.    EECON2= 0x55;
  27.    EECON2= 0xAA;
  28.    EECON1bits.WR    = 1;
  29.    GIE   = 1;  
  30.    }

Y me salen 3 errores:

* Luego de la linea 16 (#BYTE EECON1bits...): "Expecting a variable"
* En las lineas 22 y 28 (donde uso EECON1bits.XX) "Expecting an Identifier"

Se que puedo utilizar simplemente #bit para identificar a WR y WREN, como lo he hecho siempre, pero quisiera saber porque no funciona mi estructura, Ojala me puedan ayudar. Gracias de antemano por la ayuda. Salu2

« Última modificación: 30 de Mayo de 2011, 16:40:12 por Braulio »

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Demora/pausa/retraso de write_eeprom
« Respuesta #17 en: 30 de Mayo de 2011, 17:50:20 »
Te esta sobrando un typedef, o sea, hay que crear la estructura y después asignarle la posición de memoria mediante #byte.


Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything