Hey kann mir jemand helfen wie man bei einem PIC16F887 einen Interrupt an RA0 machen kann? Hab davon leider echt fast keine Ahnung... (Brav wie ich war hab ich auch schon gegoogelt aber mehr Interrupts an RB gefunden..) Danke! Liebe Grüße Max Berg
Max Berg wrote: > Hey kann mir jemand helfen wie man bei einem PIC16F887 einen Interrupt > an RA0 machen kann? > Hab davon leider echt fast keine Ahnung... (Brav wie ich war hab ich > auch schon gegoogelt aber mehr Interrupts an RB gefunden..) Ich kenne den Controller nicht. Aber im Datenblatt (Page 7) steht ja an welchen Pins INterruptfunktionen liegen. Nur PortB hat IOC (Interrupt on change). Du musst das wohl ohne Interrupt lösen.
Oh! Stimmt danke, das habe ich übersehen... Naja kann man nix machen =) Schönen Abend noch!!
Über die Komparatoren sollte es gehen. Die können auch einen Interrupt auslösen. Ist nur etwas schwieriger die richtigen Einstellungen zu finden. Ließ dir mal im Datenblatt den Abschnitt über die Komparatoren durch und zur Hilfe bei sprut.de. Ich hab das allerdings auch noch nicht so verwendet, kann dir also keine fertige Routine liefern. Sven
Mir fiel gerade ein, dass mein aktuelles Projekt, ja doch den RA0-Komparatorinterrupt benutzt. Falls es dir was nützt, hier mal die wichtigsten Codeschnipsel: ISR:
1 | ;welcher Interrupt? |
2 | IH_Interrupt_Poll |
3 | Bank0 |
4 | btfsc PIR2,C1IF ;Test auf Komparator1 Interupt |
5 | goto IH_Comp1 |
6 | |
7 | IH_Comp1 |
8 | Bank2 |
9 | btfss CM1CON0,C1OUT |
10 | goto IH_Comp1_ende |
11 | : |
12 | : |
13 | |
14 | IH_Comp1_ende |
15 | Bank0 |
16 | bcf PIR2,C1IF ;Interruptbit Komparator zurücksetzen |
Init:
1 | ;Komparator1 initialisieren, löst Interrupt aus bei Spannungsausfall |
2 | Bank1 |
3 | bsf VRCON,VR3 ;VR<3:0> = .11 um Referenzspannung auf 2,97V einzustellen. Das entspricht ca. 14V Eingangsspannung |
4 | bcf VRCON,VR2 |
5 | bsf VRCON,VR1 |
6 | bsf VRCON,VR0 |
7 | bsf VRCON,VREN ;Referenzspannungsquelle einschalten |
8 | Bank2 |
9 | bsf CM2CON1,C1RSEL ;Die interne Ref.spg. vom Ref.spg.modul soll benutzt werden |
10 | bsf CM1CON0,C1R ;Die interne Ref.Spg. soll am Komparator1 +Eingang anliegen |
11 | bsf CM1CON0,C1ON ;Komparator1 einschalten |
Eventuell nützt es dir ja was Gruß Sven
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.