-         

Ergebnis 1 bis 6 von 6

Thema: Interrupt in ISR-Routine freigeben

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.06.2005
    Beiträge
    20

    Interrupt in ISR-Routine freigeben

    Anzeige

    Ich habe ein Programm mit zwei Interruptroutinen
    (Int0 und timer0)

    Wenn der INT0 erzeugt wird, pringt das Programm in den
    Interrupt Handler für Int0 (funktioniert!)

    Hier soll zum Schluß der Interrupt für den Timer0 mit

    Enable Timer0

    freigegeben werden.
    Das klappt leider nicht innerhalb der Interruptroutine?

    Wo liegt denn mein Fehler?

    Steffen

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Soll dann innerhalb der Interruptroutine auch noch der Timer0 IRQ ausglöst werden?
    Wenn ja, würde das nicht gehen, weil der globale IRQ disabled wird, wenn der INT0 ausgelöst wird.
    Gruß

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.06.2005
    Beiträge
    20
    Danke für den Hinweis.

    Steffen

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2007
    Ort
    Dresden
    Alter
    33
    Beiträge
    29
    Laut handbuch musst du Sreg.7 = 1 in deiner ISR setzen dann gehts

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Wir sind hier bei Bascom, dann schreibt man auch "Enable Interrupts",
    das den ASM-Befehl "sei" erzeugt, was nichts anderes macht als das Bit im Statusregister zu setzen
    Ist für spätere Forschungen besser, wenn man die Befehle so verwendet wie vorgesehen.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Ja, aber wenn Du innerhalb einer ISR wieder ein SEI benutzt, dann kann der erste IRQ nicht mehr ohne weiteres "returned" werden. Das kann je nach Code natürlich gefährlich sein.
    Gruß

Berechtigungen

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