Forum: Mikrocontroller und Digitale Elektronik Attiny13A disable BOD ( Brown out detection ) in Software


von Chris W. (verleihnix85)


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

von Chris W. (verleihnix85)


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.

von Jörg E. (jackfritt)


Lesenswert?

Super Danke für die Info! Wird eins meiner nächsten Tests fur nen 
atiny85

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.