Forum: Mikrocontroller und Digitale Elektronik Fuses setzen (Attiny841)


von Stefan S. (sschultewolter)


Lesenswert?

1
[0]ULPOSCSEL    ->  ULPOSC_32KHZ
2
[1] BODPD       ->  BOD_ENABLED
3
[2] BODACT      ->  BOD_ENABLED
4
[3] SELFPRGEN   ->  0
5
[4] RSTDISBL    ->  0
6
[5] DWEN        ->  0
7
[6] SPIEN       ->  1
8
[7] WDTON       ->  0
9
[8] EESAVE      ->  0
10
[9] BODLEVEL    ->  4V3
11
[A] CKDIV8      ->  0
12
[B] CKOUT       ->  0
13
[C] SUT_CKSEL   ->  INTROSC_8MHZ_6CK_16CK_16MS
14
15
[0] Kann mit diesem Internal Ultra Low Power Oscillator nichts anfangen. 
16
Weiß auch nur vom ATtiny841 Datenblatt, wie der heißt. Wofür macht es Sinn,
17
den hochzusetzen?
18
19
[1] Hiermit wird der Brown-out Detektor aktiviert, wenn ich das richtig verstanden habe.
20
Macht es bei dem internen Ozcillator einen großen Sinn, ob dieser Erkennung drin ist?
21
Bei Atmegas, die mit 16MHz betrieben kann ich mir Probleme vorstellen. Denn 16MHz bei 3V3
22
liegt ausserhalb der Spezifikation, auch wenn es doch teils klappt.
23
24
[2] Hier wird laut Datenblatt eingestellt, in welchen Modus der Brown-out Detektor agieren soll.
25
BOD_ENABLE würde bedeuten, nur wenn der AVR aktiv und nicht im Leerlauf sich befindet.
26
Was kann man hier als Aktiv und was als Leerlauf bezeichnen? Normalerweise läuft der AVR im
27
Aktiv. Wie ist der Leerlauf genau gemeint?
28
29
[3] Wird hier nicht gebraucht.
30
31
[4] Soll aktiv bleiben, damit ich weiterhin mit dem ISP Programmer arbeiten kann, da ich keinen Bootloader nutzte
32
33
[5] Debug-Wire wird vorerst nicht benötigt.
34
35
[6] SPIEN soll nicht aktiviert werden, nutze nur ISP Programmer (STK500 Clone)
36
37
[7] Watchdog derzeit nicht geplant
38
39
[8] Eeprom soll nicht jedesmal gelöscht werden, nur wenn ich das möchte über die Toolchain.
40
41
[9] Spielt es eine Rolle, auf welchen Wert dieser steht, wenn ich BOD evtl garnicht nutzen möchte. Denke nein.
42
43
[A] Divider muss ich auf 0 setzen, da ansonsten mein Takt nicht passt. Habe im Toolchain F_CPU=8000000 gesetz.
44
 Getestet auf die schnelle mit Blink Example
45
 
46
[B] Wofür muss ich den genau ändern, oder passt der so bereits?
47
48
[C] Sollte soweit okay sein. Möchte nur den internen Oszillator des Attinys nutzen.

Ich habe die Erklärungen mal dazu geschieben auch wenn die Funktion 
selbsterklären ist,
bin mir nämlich etwas unsicher, ob nun 0 programmiert und 1 
unprogrammiert heißt oder ob es
sich hier um true oder false Werte handelt.

Gruß Stefan

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Stefan S. schrieb:
> bin mir nämlich etwas unsicher, ob nun 0 programmiert und 1
> unprogrammiert heißt oder ob es
> sich hier um true oder false Werte handelt.
 Da du TINY über ISP programmiert hast, wird 1 wohl für enabled stehen.

> [0] Kann mit diesem Internal Ultra Low Power Oscillator nichts anfangen.
> Weiß auch nur vom ATtiny841 Datenblatt, wie der heißt.
 Wie der Name schon sagt, Ultra Low Power Mode.

> Wofür macht es Sinn, den hochzusetzen?
 Um Strom zu sparen ?

> [2] Hier wird laut Datenblatt eingestellt, in welchen Modus der
> Brown-out Detektor agieren soll.
> BOD_ENABLE würde bedeuten, nur wenn der AVR aktiv und nicht im Leerlauf
> sich befindet.
> Was kann man hier als Aktiv und was als Leerlauf bezeichnen?
> Normalerweise läuft der AVR im
> Aktiv. Wie ist der Leerlauf genau gemeint?

 Idle. Gehört normalerweise auch zur Sleep Modes, nur wird hier zwischen
 idle und sleepmodus unterschieden, deswegen gibts auch 2 verschiedene
 Fusebits für Idle und Sleep.
 Und nein, BOD ist immer Aktiv, man kann sogar mit BOD TINY wecken,
 vorausgesetzt, du hast die Fuses entsprechend gesetzt.


> [B] Wofür muss ich den genau ändern, oder passt der so bereits?
 Um Systemclock auf CLK0 Pin (PB.2) auszugeben.

: Bearbeitet durch User
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.