Hallo Besserwessi,
wie heißen die Befehle in Bascom?
Enable Pcint1
On Pcint1 MeinInterrupt
MeinInterrupt:
Return
oder soll ich endgülig auf Assembler umsteigen
Günter
Um den Pinchange zu aktivieren muß man aber auch noch die genauen Bits im Register PCMSK0/1/2 angeben.
Ganz auf eine ISR kann man so wie ich das sehe nicht verzichten, denn das I Bit muß gesetzt sein. Damit wird die ISR dann auch wirklich aufgerufen, und es muß wengstens eine leere Routine da sein. In ASM kann das sogar ein einfaches RETI an der stelle des normalen Interrupt Vekors sein. In BASIC wohl ein RETURN mit passenden Header dazu.
Hallo Besserwessi,
wie heißen die Befehle in Bascom?
Enable Pcint1
On Pcint1 MeinInterrupt
MeinInterrupt:
Return
oder soll ich endgülig auf Assembler umsteigen
Günter
Hallo Besserwessi,
die ASM-Leute sagen aber C und Basic währe was für Warmduscher
Die sind aber von dem vielen Kaltduschen recht verkrampft.
Günter
Ich bin sonst eher einer von den ASM Leuten. Basic wäre nicht schlimm, aber Bascom ist nicht mal das.
Hallo guenter1604,
im Anhang findest Du ein Programm, das ich benutze, um mit drei Tasten das Radio für eine bestimmte Zeit abzuschalten (Werbung, Nachrichten usw.). Die Schaltung läuft mit 3 Micro-Alkalinebatterien bereits mehrere Monate ohne Batteriewechsel. Stromverbrauch im Powerdownmodus liegt unter 1 µA. An der Stelle der Unterprogramme Eineminute, Fünfminuten und Zehnminuten müsstest Du dann die RC5-Befehle senden. Wie das geht ist beim Befehl "RC5SEND" in der Bascom-Hilfe beschrieben. Das Programm nutzt sowohl Powerdown als auch den Watchdogtimer. Den Watchdogtimer kannst Du verwenden um die Fernbedienung mit den gedimmten LEDs zu benutzen. Bei weiteren Fragen bitte melden.
felack
Hallo felack,
welchen Zweck hat:
Pause_64: 'MCU für 64 ms ausschalten
Reset Watchdog
Enable Watchdog
Powerdown
Disable Watchdog
du legst den Controller schlafen, zuvor schaltest du den Watchdog ein?
Hallo NG,
der Code gibt jetzt bei Tastendruch den Command 12 aus. Wird nicht gedrückt, geht der Controller schlafen.
GünterCode:$regfile = "m8def.dat" $crystal = 3686400 Dim Togbit As Byte , Command As Byte , Address As Byte Enable Interrupts Enable Int0 On Int0 Meininterrupt Config Int0 = Low Level Config Portd.2 = Input Portd.2 = 1 Command = 12 Togbit = 0 Address = 0 Do Powerdown Loop Meininterrupt: Rc5send Togbit , Address , Command Return
Hallo Günter,
Der Werbeblocker schaltet den Lautsprecher für 1,5,oder 10 Minuten aus. Diese Zeit wird mit dem Watchdogtimer erzeugt. Da der Mikrocontroller sonst nichts zu tun hat, wird der abgeschaltet und nach 64 ms vom Watchdog wieder aktiviert. Dann überprüft er, ob die Zeit abgelaufen ist (a=1) und wenn nicht legt er sich wieder schlafen. Im Powerdown mit Watchdog braucht der Mikrocontroller etwa 7 µA an Strom.
felack
Lesezeichen