- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Timer-ISR "erzwingen"

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Anzeige

    Powerstation Test
    Okay - das erklärt natürlich so einiges! Da muss man aber erstmal drauf kommen

    Dann werde ich das Kapitel "TOVF1" ganz genüsslich zu den Akten legen und die entsprechende ISR einfach mit Gosub ausführen lassen.

    Danke für die Info!!

  2. #12
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn man die ISR einfach per Gosub aufruft, muß man eventuell aufpassen, denn dann kann der Aufruf per Gosub auch noch per Interrupt unterbrochen werden. Nicht jeder Code verträgt es wenn er quasi 2 mal läuft. Ein Beispiel für Mögliche Probleme wäre der zugriff auf 16 Bit Variablen oder Register.

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    also eventuell als allererstes beim betreten der ISR-Sub das interrupt enable flag löschen und anschliessend wieder setzen

  4. #14
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Sehr guter Tip mit dem Globalen Enable Interrupts - hab es gerade ausprobiert und (bislang) läuft´s wie geschmiert!

  5. #15
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Das Interrupt flag in der ISR zu löschen ist eine gute Idee: beim Aufruf als interrupt passiert nichts, beim Aufruf per Gosub weren interrupts gespeert. Auf das explizite setzen des Interrupt flags sollte man aber besser verzichten, denn sonst kann man 2 geschaltelte ISRs kriegen und braicht 2 mal den Stack für die ganzen Register. Am ender der ISR sollter der Interrupt ohnehin wie der frei gegeben werden (durch dem ASM befehl RETI am den Ende).

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

LiFePO4 Speicher Test