Forum: Compiler & IDEs Inerrupt handling, LED_AN während EEPROM beschrieben wird


von Hans (Gast)


Lesenswert?

Hallo,

ich möchte dass eine LED das beschreiben von EEPROM anzeigt. Ich mache 
das so:
1
  Disable_Interrupts();
2
  LED_an();
3
  //get sensor data
4
  get_data_in_buf();
5
  
6
  asm volatile ("NOP"::);
7
  asm volatile ("NOP"::);
8
      
9
  //save data in EEPROM
10
  eeprom_write_block( &buf, OFFSET, sizeof(buf));
11
12
  LED_aus();
13
14
  asm volatile ("NOP"::);
15
  asm volatile ("NOP"::);
16
  Enable_Interrupts();

Die LED leuchtet auf, geht aber dann nicht aus. Da ich Interrupts 
verwende, schalte ich sie global aus. Und damit die angefangene Befehle 
beendet werden, setze ich mehrmals NOP. Aber nichts hilft!
Trotz dem bekomme ich die LED nach Beschreiben des EEPROMs nciht 
ausmachen.

Weiß jemand was ich falsch mache?

von F1 (Gast)


Lesenswert?

Wie sieht dein   LED_aus();   denn aus?

von Hans (Gast)


Lesenswert?

so:

#define LED_aus()  LED_PORT &= ~(1<<0)

das funktioniert schon. ich kann die LED ein und ausschalten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.