HI-Tech RX Interrupt Service Routine

Gast #1322516
Hallo zusammen,

Ich habe bis jetzt den CCS Compiler verwendet und vor kurzem habe ich 
mir die Testversion (60Tage) von dem Hi-Tech Compiler runtergeladen
Ich habe eine Frage zum Hi-Tech Compiler: Also ich verwende den 
PIC16F688. Ich versuche über die rs232 zu kommunizieren, gibt es einen 
Compiler Befehl, wo ich die ISR(Interrupt service Rutine) für den 
Empfang auslösen kann. ich habe im Handbuch von dem Compiler geschaut 
und die Funktion heisst:
void interrupt (void) {} woher weiss der Compiler welchen Interrupt er 
auslöst???es gibt INT_RX, INT_TX, etc....Er braucht doch eine 
Vectorliste, wo die ganze Adressen sind.

Also bei mir sieht die Empfangfunktion so aus:

void getchar (void)

{

    RCIE = 1,
    PIEI = 1;
    GIE =1;
    ei ();

    while (!RCIF)
            continue;

return (RCREG);
}

so jetzt bleibt er in diese While Schliefe klemmen, weil die Interrupt 
service routine für RX (INT_RTDA) so heisst es beim CCS Compiler nicht 
freigegebn wurde...wie heisst die ISR für RX in Hi-TECH compiler?

Danke sehr im Voraus,

Gruß

Sadier
#1322564
Sadier schrieb:
> void interrupt (void) {} woher weiss der Compiler welchen Interrupt er
> auslöst???es gibt INT_RX, INT_TX, etc....Er braucht doch eine
> Vectorliste, wo die ganze Adressen sind.

Nein, das ist eine Besonderheit der PICs.
Es sind mir keine anderen MCs bekannt, die keine quellenabhängigen 
Interruptvektoren haben.
Werden beim PIC mehrere Interrupts freigegeben, muß man im Handler 
erstmal feststellen, welcher zugeschlagen hat.
Das bedingt auch, daß alle Interruptflags händisch gelöscht werden 
müssen.
Das übliche Löschen automatisch beim Eintritt ist nicht möglich.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.