PIC 18F4550 Interrupt nur mit ADCON1

OP #4616800
Lesenswert?
• ▲
▼
Hallo µC-Gemeinde,

dies hier ist mein erster Beitrag in diesem Forum und ich bin mir 
sicher, dass ich hier jemanden finde, der mir helfen kann.

Zu meinem Problem: ich möchte an INT0 einen Interrupt auslösen und an 
einem Bit an Port E daraufhin einen Peak ausgeben. (Dieses Programm 
dient zunächst erst einmal zum Testen, also bitte nicht die Sinnigkeit 
hinterfragen ;) ).

Ich habe den Interrupt wie folgt initialisiert:

INTCONbits.INT0IF = 0;      // INT0IF: INT0 External Interrupt Flag bit
 INTCON2bits.RBPU = 1;      // Enable internal pull-up on port B
 RCONbits.IPEN = 1;         // Enable priority levels on interrupts
 INTCONbits.GIEH = 1;       // Enable High Level interrupts
 INTCONbits.INT0IE = 1;     // Enable the INT0 external interrupt
 INTCON3bits.INT1IE = 1;    // Enable the INT1 external interrupt
 INTCON3bits.INT1IP = 1;    // INT1 External Interrupt Priority bit - 
High
 INTCON2bits.INTEDG0 = 1;   // INT0 interrupt on rising edge
 INTCON2bits.INTEDG1 = 1;   // INT1 interrupt on rising edge
 ADCON1=0x0F;        // VERY IMPORTANT!!!!!! KEINE AHNUNG WARUM!!!!





Das Programm springt erst seitdem in die Interruptroutine, seitdem ich
" ADCON1=0x0F; " mitinitialisiert habe.


Zuvor hatte ich auch mit " TRISBbits.TRISB0 = 1 " oder " TRISB = 1; " 
probiert, allerdings erfolglos.


Mir ist etwas schleierhaft, warum PORTB mit ADCON1 als Analog-Input 
initialisiert werden muss um einen Interrupt auslösen zu können.

Kann mir das jemand erklären?


Vielen Dank schon mal im Voraus!

Gruß Steffen
Gast #4616862
Lesenswert?
• ▲
▼
Hallo,

im Datenblatt ist es genau beschrieben ADCON1 = 0xf beduetet dass 
PCFG3:PCFG0 alle auf 1 sind. Und in der Tabelle drunter ist gezeigt, 
dass 1111 bedeutet dass alle analogen Eingänge in digitale 
umkonfiguriert werden.

Cheers

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.