eeprom_write_block

OP #1533883
Ich möchte gerne einen Block ins EEPROM schreiben (ATMEGA8), irgendwo 
ist aber ein haken....
1
include <avr/eeprom.h>
2

3
typedef struct {
4
  unsigned char    cInMask;
5
  unsigned char    cOutMask;
6
  unsigned int     iCounter[5];
7
} t_env;
8

9
t_env g_env;
10
t_env ee_env EEMEM;
11

12

13
void WriteEE()
14
{
15
  eeprom_write_block ( &g_env, &ee_env, sizeof (t_env) ); // Zeile A
16
  PORTD |= 0x01; // LED am Port (ein)
17
}
18

19
int main (void)
20
{
21
  DDRD= 0x01; // 1 ist ein ausgang
22
  PORTD = 0x00; // LED am Port (aus)
23
  
24
  g_env.cInMask= 0x12; // irgendwelche werte....
25
  g_env.cOutMask= 0x34;
26
  g_env.iCounter[0]= 0x56;
27
  
28
  WriteEE(); // und schreiben
29
  
30
  while (1) {
31
  } // endlos
32
}

Nun müssten die Werte eigentlich im EEPROM liegen und die LED am PORTD 
ansein, ist sie auch wenn ich die "Zeile A-> eeprom_write_block" 
auskommentiere. sonst bleibt sie aus, kann mir jemand sagen was ich 
falsch mache?
MfG VG1
>eeprom_write_block ( &g_env, &ee_env, sizeof (t_env) ); // Zeile A

Versuchs mal so:
1
#include <avr/pgmspace.h>       // PROGMEM-Funktionen 
2
...
3

4
struct t_env {
5
  unsigned char    cInMask;
6
  unsigned char    cOutMask;
7
  unsigned int     iCounter[5];
8
};
9

10
struct t_env g_env;
11
struct t_env ee_env EEMEM;
12

13
...
14
eeprom_write_block ( &g_env, &ee_env, sizeof (g_env) );

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.