Forum: Mikrocontroller und Digitale Elektronik STM32 Interrupt / I/O


von Reginald L. (Firma: HEGRO GmbH) (reggie)


Angehängte Dateien:

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

von Martin (Gast)


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.

von Reginald L. (Firma: HEGRO GmbH) (reggie)


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.

von Reginald L. (Firma: HEGRO GmbH) (reggie)


Angehängte Dateien:

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 :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.