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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


