- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Beenden einer ISR erkennen

  1. #11
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Anzeige

    Powerstation Test
    Wenn man das ADC fertig Signal an einen Interrupteingang legt der eien Interruptflag setzt, könnte man direkt nach dem Flag pollen. Den Eigentlichen Interrupt braucht man ja gar nicht auslösen. Dazu würde sich z.B. der ICP Eingang anbieten. Ein Signal von nur 50 ns ist aber auch da etwas zu kurz, wenigstens 60 ns sollten es schon sein bei 20 MHz Takt.
    Wenn der ADC sehr schnell ist, könnte man auch gleich die passende Zeit warten. Ein externe ADC macht ja hauptsächlich sinn, wenn er schnell ist.
    Zum warten müßte man aber eventuell auf Inline ASM zurückgreifen, oder auf Libraryfunktionen.

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    Danke für die vielen Vorschläge. Ich hab es jetzt mit normalen Warten gemacht. Den Interrupt vom ADC ignoriere ich einfach.
    Da der ADC seine 12 Bit Messung ziemlich flott mir zur Verfügung stellt, verliere ich kaum Zeit.

    Das Ganze ist Teil eines digitalen PID Reglers.
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Moin moin.

    Irgendwie habe ich bei Deinem Problem ein "Brett vorm Kopf"?
    Starte doch einfach mit dem IRQ eine Funktion welche den ADC Wert
    in eine Variable e. Am Ende der IRQ Funktion dann ein RTI und dein
    normales Prog läuft weiter wo es beim Aufruf der Funktion gestoppt
    wurde. Den ADC Wert der Varible kannst Du dann auswerten was es Dir beliebt.

    Das hat mit Pollen NIX zu tun! Außer...Du mußt den externen ADC
    auch zu einer Wandlung auffordern! Das währe dann eine Art Polling,
    dann brauchst Du aber nicht wirklich einen (zwei) IRQ.

    Wenn das ständige Pollen zu zeitaufwändig ist, benutze einen Timer
    IRQ. Starte in der Timer IRQ den ADC, warte auf den ADC IRQ und dann
    wie oben .... RTI. Die beiden IRQ sollten sich aber nicht in die Quere
    kommen!

    Gruß Richard

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