Mahlzeit, ich dachte immer, daß ich den PIC aus dem Sleep Mode mit dem IRQ wieder aufwecken kann. Das scheint jetzt aber nicht zu funktionieren. Kennt jemand die Problematik? Gruß Binnesmann
Hast du denn die Interrupt abhandlung aktiviert und den Externen Interrup auch? Es funktioniert auch nur mit einem Externen Interrupt, glaub ich! mfg
Hi, ich habe nur die externen IRQ's belegt. Habe dabei den normalen ext. IRQ und den Upper 4 Pin IRQ aktiviert. Geht leider nicht. Wenn ich in einer Endlosschleife laufe, dann komme ich in die IRQ Routine rein. Im Sleep Mode nicht. Ich möchte damit eine Fernbedienung bauen. Möchte aber zeitgleich keine große ext. Hardware haben. Soll eine Fernbedienung für den Schlüsselbund mit max. 5 Tasten werden. Somit würden die 5 IRQ Leitungen reichen und ich bräuchte nur die Taster als ext. Hardware. Im Sleep Mode reicht die Batterie dann auch 10 mal so lange. Gruß Binnesmann
Hallo, das geht sogar aus mehreren Zuständen herraus! Einer davon ist der gut zu nutzende Change On Port IRQ auf Portb. Allerdings ist zu beachten, daß das Anlaufen dauert (bis zu Sekunden). Mit dem Scope mal den Osz Pin beobachten und die Zeit ablesen. Steht aber alles im Datenblatt gut beschrieben. MfG Manfred Glahe
Es ist bestimmt nicht schädlich wenn du deinen Quell-Code veröffentlichst, oder? denn aus der fehrne zu sagen wo der fehler sitzt ist kaum möglich.
Habe endlich meinen Internetzugang wieder hinbekommen. ;Pic Initialisierung org 0 ;Programmstart jmp Init org 4 ;Start nach Interrupt jmp senden Init mov !ra,#00000b ;Port A Ausgabe mov !rb,#0ffh ;Port B Eingabe mov ra,#00000b ;Port A alles low mov rb,#00h ;Port B alles low setb ActivLED ;Ich bin wach setb DataOut ;Breakpegel beenden mov TasteRet,#00h clrb INTCON.0 ;Upper 4 Bits / Port B Interruptflag clrb INTCON.1 ;Ext. IRQ Flag clrb INTCON.2 ;RTCC Overflowflag setb INTCON.3 ;PortB Interrupt zulassen setb INTCON.4 ;Externen Interrupt zulassen clrb INTCON.5 ;RTCC Interrupt disable clrb OPTION.6 ;Externen Interrupt bei Wechsel von High nach Low setb INTCON.7 ;Interupts zulassen clrb ActivLED ;Ich geh wieder schlafen sleep In der Routine mache ich nichts anderes als die Initialisierung. Das klappt auch alles wenn ich statt dem sleep eine Endlosschleife reinsetze. In dieser Version lande ich allerdings nie in der Interruptroutine. Gruß Binnesmann
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.