Hallo, wie programmiere ich den Brownoutreset in BASCOM? Hat da jemand erfahrung mit? Viele Grüße, Achim
Ja, die Fuses müssen gesetzt sein, das ist klar! Aber wie werte ich den Brownout in BASCOM aus? Denke ich hier einfach nur zu kompliziert, oder gibt es einen Haken? Vielen Dank, Achim
> Ja, die Fuses müssen gesetzt sein, das ist klar! Aber wie werte ich den
Brownout in BASCOM aus?
Gar nicht! Schon mal ins Datenblatt geschaut? Da steht's drin.
Hi Dumust nach einem Reset (also beim Programmstart) 'MCUSR'. Dort Resetquellen stehen drin. Ob das in BASCOM möglich ist, must du selbst harausfinden. MfG Spess
Hi Was habe ich denn da geschrieben? Der erste Satz sollte natürlich so aussehen: Du must nach einem Reset (also beim Programmstart) 'MCUSR' auslesen.... MfG Spess
bei ATMEGA 644 mit BASCOM ist das ein Beispiel. Zählt bis zu 65534 Resets mit Brownout. (Info für anderen die diesen Beitrag finden)
1 | 'BROWNOUTDETECTION |
2 | If Mcusr.borf = 1 Then |
3 | Reset Mcusr.borf |
4 | Tmp_word = Eram_bd_reset_cnt |
5 | Incr Tmp_word |
6 | If Tmp_word <> 65535 Then Eram_bd_reset_cnt = Tmp_word |
7 | End If |
Sonst kann man auch andere Resets auswerten:
1 | ' WATCHDOG |
2 | If Mcusr.wdrf = 1 Then |
3 | Reset Mcusr.wdrf |
4 | End If |
5 | |
6 | 'EXTERNAL RESET |
7 | If Mcusr.extrf = 1 Then |
8 | Reset Mcusr.extrf |
9 | End If |
10 | |
11 | 'POWER ON RESET |
12 | If Mcusr.porf = 1 Then |
13 | Reset Mcusr.porf |
14 | End If |
Another C example: [title]Beitrag "Verständnisfrage postdecrement"]
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.