-         

Ergebnis 1 bis 2 von 2

Thema: PIC18F2550

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2007
    Beiträge
    6

    PIC18F2550

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    HI,
    ich möchte eigendlich was ganz einfaches machen: einen Interrupt auslösen. ja, und zwar von timer0 (16 bit modus)
    Welche bits muss ich hierzu setzen?

    INTCONbits.GIE = 1; // enables/disables all interrupt sources
    RCONbits.IPEN = 0;
    INTCONbits.TMR0IE = 1; // IRQ aktiv

    das dürfte doch schon alles gewesen sein. ich habe nur diesen einen interrupt, also nix mit high oder low.

    laut datenblatt soll nun an die stelle 0x000008 gesprungen werden. dort ist ne while(1); und somit soll meine LED aufören zu blinken. er springt aber einfach nicht in die ISR!!! wiso? habe schon alles probiert. kan mir jemand bitte behilflich sein?
    lg

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo blitzgeist!

    Zum auslösen des Interrupts durch ein Timer kommt nur wenn dieser Timer überläuft von FFFFh auf 0000h. Damit es geschieht, muss für den Timer eine Taktquelle gewählt werden (interner Takt oder Impulse auf T0CKI Pin) und in die Timer Register TMR0H und TMR0L gewünschte "Startwerte" geladen werden. Danach muss der Timer noch gestartet werden um die Impulse zählen und zum Überlauf kommen zu können. Das alles wird im Register T0CON konfiguriert. Setzen den von Dir angeschprochenen Bits erlaubt den Interrupt, löst ihn aber leider nicht aus.

    MfG

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •