Nach dem ich mit einem Adapter die Fuse Einstellung aus dem Attiny 3216 auslesen kann, habe diese Werte im ori IC: APPEND - 0x00 BODCFG - 0x00 BOOTEND - 0x02 SYSFGO - 0xF6 SYSFG1 - 0x07 TCDCFG - 0x00 WTDCFG - 0x00 Habe mir das Datenblatt vorgenommen und diese Einstellungen gefunden: Fuse Wert (hex) Bedeutung BODCFG 0x05 Brown-Out Detection aktiv bei 2,7 V, im aktiven Modus (ACTIVE), bei voller Frequenz sicher SYSCFG0 0x46 UPDI aktiv (nicht Reset), EESAVE=1 (EEPROM bleibt erhalten), CRCSRC=00 (kein CRC), Reserved = 110 SYSCFG1 0x06 SUT = 16 ms → sichere Startzeit nach Reset oder Power-On APPEND 0x00 Keine App-Schutz-Sektion (Standard, wenn kein Bootloader genutzt wird) BOOTEND 0x00 oder 0x02 Kein Bootloader → beide Werte sind akzeptabel. 0x00 = ganzes Flash ist App-Bereich. 0x02 reserviert 512 Bytes, aber ungenutzt. TCDCFG 0x00 TCD0 Clock Config: Standard, unbenutzt, keine besondere Konfiguration notwendig WDTCFG 0x00 Watchdog Timer deaktiviert Habe versucht es als Tabelle darzustellen. Mal sehen ob es klappt. Sind diese Werte korrekt?
> Sind diese Werte korrekt?
In meinem Datenblatt (von 2020) lese ich teilweise andere Werte.
Vielleicht sollten Sie Ihre nochmals überprüfen ...
> BODCFG 0x05 BODLEVEL0 entspr. 1.8 V > SYSCFG0 0x46 BOOT entspr. CRC of the boot section EEPROM erased during chip erase
BODCFG 0x05 steht für 1,8V, hasst Recht, besser ist 0x0D steht für 2,7V. Bei SYSFG0 sind das meine überlegungen: Korrekte SYSCFG0, wenn: • Kein Bootloader • Kein CRC nötig • EEPROM soll erhalten bleiben • UPDI soll aktiv bleiben Dann: Bit Wert RSTPINCFG 00 CRCSRC 00 EESAVE 1 RESERVED 110 Binär: 0b01000110 → 0x46
Bei BODCFG = 0D ist LVL[2:0] doch nach wie vor 0, folglich 1.8 V!? Und SYSCFG? Sie setzen RSTPINCFG korrekt auf 01, schreiben aber > RSTPINCFG 00 setzen CRCSRC auf 01, schreiben aber > CRCSRC 00 korrekt wäre 3 (no CRC), etc. Ich kann Ihre Angaben beim besten Willen nicht nachvollziehen.
Noch mal gerechnet: Da müsste BODCFG - 0x0F SYSFG0 - 0x06 sein. Da hab ich mich wohl verrechnet. Hoffe das es jetzt stimmt
Nein, tut mir leid, ich verstehe Sie nicht. Hier meine Überlegung:
1 | SYSCFG0: |
2 | 7 6 5 4 3 2 1 0 |
3 | CRCSRC[1:0] xxx TOUTDIS RSTPINCFG[1:0] xxx EESAVE |
4 | 0x3 1 0x1 1 |
5 | 11 1 1 01 1 1 |
6 | |
7 | -> 0xF7 |
8 | |
9 | |
10 | BODCFG: |
11 | 7 6 5 4 3 2 1 0 |
12 | LVL[2:0] SAMPFREQ ACTIVE[1:0] SLEEP[1:0] |
13 | 0x2 0x0 0x1 0x0 |
14 | 010 0 01 00 |
15 | |
16 | -> 0x44 |
17 | |
18 | "Note: When writing the fuses, all reserved bits must be written to ‘1’." |
Da werde ich mich mal hinsetzen und alles lesen und rechnen. Danke für die Info
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.