- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 10

Thema: Lauter Interrupts?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    219
    Bloß mal nebenbei - der due ist doch ein ARM? (kenne mich mit arduino nicht so aus) - dann müßte er einen internen QDEC haben,
    dann fallen schon mal ein paar ints weg.
    mfg
    Achim

  2. #2
    Neuer Benutzer Öfters hier Avatar von Getorix
    Registriert seit
    11.08.2011
    Ort
    Schweiz
    Beiträge
    20
    Ja, im Due steckt der Arm ATSAM3X8E

    Hab grad im Amel-Datenblatt das QDEC-Kapitel überfolgen. Aber so ganz klar, wie man damit die Aufgabe vereinfachen kann, wurde es mir nicht.
    Wie würdest du da was anhängen?

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.213
    Sei vorsichtig mit Interrupts.
    Die heissen nich umsonst so: sie unterbrechen den normalen Programmablauf.
    Was genau passiert, wenn ein Interrupt das tut, und während nun seine ISR abgearbeitet wird, löst ein weiterer Interrupt aus?
    Je mehr davon man benutzt, umso höher die Wahrscheinlichkeit, dass dieser Fall mal eintritt.

    Interrupts sind eigentlich eine tolle Sache-haben aber ihre Tücken, eben, weil sie den normalen Programmablauf stören.

    Beispielsweise kann man eine SD-Karte recht leicht zerstören, indem man, während nem Schreibzugriff darauf, einen Interrupt auslöst.
    Das muss man bedenken, und beispielsweise so umschiffen, dass man für die Dauer des Schreibzugriffes die Interrupts sperrt, oder ähnliches.
    Also: Vorsicht, bitte....

    Ob dein konkretes Beispiel funktionieren wird, kann ich dir leider nicht sagen-ich halt nicht viel vom Due (heisst aber nicht, dass der schlecht wäre).
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.668
    Was genau passiert, wenn ein Interrupt ausgelöst wird, während noch einer im Gange ist?

    Mir fallen dazu 2 grundlegende Strategien ein:

    1. Wenn der Code in eine Interrupt-Service-Routine eintritt, werden alle Interrupts gesperrt und vor beenden der ISR wieder freigegeben.

    2. Es wird für alle Interrupt-Service-Routinen eine globale Variable definiert, die anzeigt, dass ein Interrupt bearbeitet wird (evtl. auch welcher). Stellt eine ISR fest, dass noch eine andre ISR arbeitet, beendet sie sich wieder, als wäre nichts gewesen.

    Wichtig ist in allen Interrupt-Service-Routinen grundsätzlich, dass man veränderte CPU-Register sichert und beim Beenden der ISR wieder herstellt.


    MfG
    Geändert von Moppi (10.12.2018 um 06:28 Uhr)

Ähnliche Themen

  1. Sehr lauter Piper
    Von Spacecam im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 1
    Letzter Beitrag: 07.01.2014, 21:34
  2. sind ALLE Interrupts wieder ON nach Enable Interrupts?
    Von sBronco im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 19.07.2011, 14:58
  3. Sp03 von Devantech lauter machen
    Von ACU im Forum Elektronik
    Antworten: 19
    Letzter Beitrag: 13.02.2008, 23:10
  4. LCD oder der Wald vor lauter Bäumen????
    Von joschi911 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 28.06.2007, 12:22
  5. Lauter Schallwandler
    Von Björn im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 19.11.2005, 19:39

Berechtigungen

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

Labornetzteil AliExpress