Attiny13A disable BOD ( Brown out detection ) in Software

OP #3284918
Lesenswert?

Hallo
Ich hoffe ihr könnt mir helfen:
Mein Problem ist, dass der attiny13a einfach die BOD nicht ausschalten 
will, für den Power Down Modus.

Den Fehler in der iotn13a.h habe ich schon korrigiert:
1
#define BODCR _SFR_IO8(0x30)
2
#define BODSE 0
3
#define BODS 1

da ist normal ein Schreibfehler drin.

Das ist der Teil, der die BOD ausschalten soll:
1
ACSR |=(1<<ACD);
2
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
3
cli();
4

5
sleep_enable();
6
sleep_bod_disable();
7
sei();
8
sleep_cpu();
9
sleep_disable();
10
sei();

Meine Schaltung braucht ohne uC 3,3uA
und mit per Fuse deaktivierter BOD 3,5uA
und mit BOD 20,2uA

ohne BOD ist keine Alternative.
und der ADC ist deaktiviert.

Vielen Dank schonmal für eure Hilfe
Gruß Chris
OP #3284964
Lesenswert?

Ok hab den Fehler gefunden indem ich Schrittweise den erzeugten 
Assembler Code durchgegangen bin.

Für alle, die das selbe Problem haben:

in iotn13a.h bei BODCR die 2 Buchstaben in den 2 folgenden Zeilen in 
BODSE und BODS ändern.

In sleep.h ganz unten in Funktion sleep_bod_disable()
MCUCR in BODCR ändern bei
1
: [mcucr] "I" _SFR_IO_ADDR(MCUCR), \

unglaublich, dass die Header so verbuggt sind.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren