STM32 Interrupt / I/O

OP (Firma: HEGRO GmbH) #4223924
Lesenswert?

Hallo wieder :)

STM32F4 Discovery, EMBlocks IDE.
Auf den Bildern oben sieht man die blaue Kurve, die aus einem Komparator 
kommt. Die rote Kurve zeigt den Ausgangspin PA15. Ich glaube es ist 
einfacher, den Code kurz durchzugehen, als die Funktion zu beschreiben, 
vielleicht liegt ja auch hier der Hund begraben (falls ich mich Irre, 
mache ich gerne eine Funktionsbeschreibung) ;)

Mir stellt sich die Frage, warum es so "lange" dauert, bis der Interrupt 
gesetzt ist und PA15 durchgeschaltet wird. Es sieht auch so aus, als ob 
der Interrupt willkürlich (was natürlich nicht der Fall sein wird) 
irgendwo auf meinem High Signal gesetzt wird, mal direkt nach der 
Flanke, mal mittendrin, mal am Ende. Ich habe auch versucht, die Flanke 
steiler zu bekommen, allerdings kriege ich das leider nicht gebacken, da 
ich erst vor relativ kurzer Zeit in die Elektronik eingestiegen bin. 
Habe schon ein wenig gegooglet und bin über Schmitt-Trigger, FlipFlops 
und Komparatorhystere gestolpert. Welche Richtung sollte ich hier 
einschlagen, falls es notwendig ist die Anstiegszeit zu verkürzen?


Vielen Dank schon mal für eure Mühe!
Reggie
Angehängte Dateien:
Gast #4224070
Lesenswert?

Also PD15 setzt du ja in der main while loop. Die Verzögerung kommt 
durch das Printf.
Besser ist es hier auf Änderung des Pegels zu warten und nur dann ein 
Printf aufzurufen. Dann gibt es keine Verzögerung.

Wenn du PD12 mit dem Oszilloskop anschaust, sollte es kaum Verzögerung 
geben, vielleicht ein paar Mikrosekunden.
OP (Firma: HEGRO GmbH) #4224141
Lesenswert?

Mein Fehler, ich meinte natürlich PD12! Kann das oben leider nicht mehr 
bearbeiten.

EDIT: Also der Output, der im InterruptHandler gesetzt wird.

EDIT2: Ich erläutere mal doch besser: An PA15 sitzt der 
Komparatorausgang. An PD12 messe ich das Ausgangssignal. Dort sitzt auch 
eine LED des Discoveryboards.
OP (Firma: HEGRO GmbH) #4224154
Lesenswert?

Vielen Dank für den Tipp mit printf, das wusste ich auch noch nicht. 
Nachdem ich printf ausgemacht habe, bekomme ich das was ich wollte :)

Kann ich auch "schneller" debuggen?


EDIT: Ohman, mein Kopf ist rammelvoll, folgendes: Ich habe die falsche 
".._it.c" Datei angehangen. In der auf den µC gedownloadeten, war noch 
ein printf drin. Daran lags :)
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren