Forum: Mikrocontroller und Digitale Elektronik Watchdog ausschalten in Assembler


von Daniel (Gast)


Lesenswert?

Hallo,

also ich versuch jetzt seit Stunden den WDT meines Tiny15 abzuschalten.
Leider beschwert sich das AVR-Studio bei diesem Code immer:
ldi r16, ((1<<WDTOE)||(1<<WDE))
out WDTCR, r16
cbi WDTCR, WDE ; hier kommt der Fehler "Operant 1 out of Range"

Könnte mir jemand weiterhelfen?

Ach ja und wenn ich versuche int0 zu aktivieren
sbi GIMSK, INT0

kommt die selbe Fehlermeldung.

Vielen Dank,

Daniel

von plitzi (Gast)


Lesenswert?

Liegen die beiden fraglichen Register WDTCR und GIMSK im für die cbi und
sbi Befehle erreichbaren bereich (<=31)?

Jörg

von Thorsten F. (thorsten)


Lesenswert?

moin moin

cbi und sbi funktionieren nur auf den unteren 32 i/o registern.

also bis adresse 0x20.

das watchdog register liegt bei meinem atmel bei 0x21 und die interrupt
mask bei 0x3b.

daher kannst du auf die register nur mit IN und OUT zugreifen.
also vorher die bits in einem "normalen" register zusammenbasteln und
dann in die steuerregister schreiben.

mfg

von Daniel (Gast)


Lesenswert?

Vielen Dank,
jetzt funktioniert es!

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.