High Level ist doch 0.7 * VDD (2.31v) und Low Level 0.3 * VDD (0.99V).
Meine Interrupt Funktion wird jedoch bei einer anliegenden Spannung von
ca. 1.3 bis 1.7V ständig ausgelöst... wieso das? Verstehe ich gerade
nicht...
Gibt es beim Interrupt / Falling Edge keine Hysterese ?
Oder habe ich ein China-Chip erwischt?
Vielen Dank für jeden Hinweis, weil gerade komme ich überhaupt nicht
weiter, bzw. weiss nicht wo noch suchen...
Epi K. schrieb:> High Level ist doch 0.7 * VDD (2.31v) und Low Level 0.3 * VDD (0.99V).> Meine Interrupt Funktion wird jedoch bei einer anliegenden Spannung von> ca. 1.3 bis 1.7V ständig ausgelöst... wieso das? Verstehe ich gerade> nicht...
Warum legt du nicht erst mal zum Testen saubere Logikpegel an?
Epi K. schrieb:> High Level ist doch 0.7 * VDD (2.31v) und Low Level 0.3 * VDD (0.99V).> Meine Interrupt Funktion wird jedoch bei einer anliegenden Spannung von> ca. 1.3 bis 1.7V ständig ausgelöst... wieso das? Verstehe ich gerade> nicht...
Low ist alles unterhalb der Schwelle von 0.99V und High alles über der
Schwelle von 2.31V (in diesem Fall). Der Bereich dazwischen ist der
analoge Bereich und deswegen für Digitalsignale verboten. Da kann eben
alles Mögliche passieren. Genau genommen gibt es auch noch eine maximale
Anstiegs- bzw. Abfallzeit zwischen den Schwellen, die nicht
überschritten werden darf. Auch digitale Elektronik ist nur digital,
solange sie innerhalb der Spezifikation betrieben wird. Außerhalb wirds
analog.
Gruß Klaus (der soundsovielte)
Epi K. schrieb:> Meine Interrupt Funktion wird jedoch bei einer anliegenden Spannung von> ca. 1.3 bis 1.7V ständig ausgelöst... wieso das?
Du meinst, es liegt eine bestimmte feste unveränderliche Spannung ohne
jedes Rauschen oder Prellen an? Und dennoch werden andauernd Interupts
ausgelöst?
Das ist seltsam. Die STM32-GPIO-Digitaleingänge haben Schmitt-Trigger
und sollten also eine Hysterese haben.
LG, Sebastian
Nimm doch einfach ein timer mit input feature als Eingang, dem kannst du
einen digitalen Filter konfigurieren wenn dus nicht entprellen willst
oder kannst.
Der timer muss dafür nicht mal laufen der capture count intressiert dich
ja nicht.
Epi K. schrieb:> High Level ist doch 0.7 * VDD (2.31v) und Low Level 0.3 * VDD (0.99V).> Meine Interrupt Funktion wird jedoch bei einer anliegenden Spannung von> ca. 1.3 bis 1.7V ständig ausgelöst... wieso das?
Deshalb nennt man den Bereich zwischen high und low ja den verbotenen
Bereich. Wie sich der Chip darin verhält, ist weder spezifiziert noch
garantiert.
Willst Du analoge Spannungen einlesen, mußt Du einen ADC-Eingang nehmen.
Epi K. schrieb:> Gibt es beim Interrupt / Falling Edge keine Hysterese ?
Schau ins Datenblatt des konkreten Chips. Manchmal muß man den Eingang
erst so konfigurieren. Die Bus-Keeper Funktion könnte hilfreich sein,
sie versucht einen offenen Eingang auf einen gültigen Logikpegel zu
ziehen.
Peter D. schrieb:> Schau ins Datenblatt des konkreten Chips.
könnte schwierig sein, beim
Epi K. schrieb:> Bluepill-board
kriegt man m.W. sowieso keine mehr mit originalem STM32, also:
Epi K. schrieb:> Oder habe ich ein China-Chip erwischt?
ziemlich sicher, ja. Verhält sich normalerweise hinreichend kompatibel,
aber im Grenzbereich, wie bei dir im "verbotenen Bereich" zwischen 0.3
und 0.7*VDD, würde ich mich nicht darauf verlassen.
Sebastian W. schrieb:> Du meinst, es liegt eine bestimmte feste unveränderliche Spannung ohne> jedes Rauschen oder Prellen an? Und dennoch werden andauernd Interupts> ausgelöst?
Genau, ich habe das Signal mit dem Oszilloskop angeschaut, es ist sauber
und stabil ...
Ich werde wohl als nächstes ein anderes Board ausprobieren müssen...
bin auch der Meinung dass eine Hysterese / Schmitt Trigger integriert
sein müsste...
>Epi K. schrieb:>Oder habe ich ein China-Chip erwischtΕrnst B. schrieb:> ziemlich sicher, ja
und wenn schon, Hysterese / Schmitt-Trigger muss doch da auch integriert
sein, das sind doch Basics, und andere Sachen (kompliziertere) wie CAN
Bus funktionieren tiptop...
alles zwischen 1V und 2.1V sollte doch gar nicht als Zustand ausgewertet
werden?
Benedikt S. schrieb:> Nimm doch einfach ein timer mit input feature als Eingang, dem kannst du> einen digitalen Filter konfigurieren wenn dus nicht entprellen willst> oder kannst.> Der timer muss dafür nicht mal laufen der capture count intressiert dich> ja nicht.
Ich habe ein Potentiometer am Interrupt Eingang
Epi K. schrieb:> alles zwischen 1V und 2.1V sollte doch gar nicht als Zustand ausgewertet> werden?
Das ist ein Missverständnis. Alles zwischen VIL und VIH wird sehr wohl
als Zustand ausgewertet (es gibt keinen dritten Zustand "kein Zustand"),
aber es ist nicht garantiert als welcher.
Spannungen zwischen VIL und VIH sind bei Digitaleingängen nur kurz
während Schaltflanken vorgesehen, und der Schmitt-Trigger ist für eine
gewisse Flankensteilheit ausgelegt.
Was versuchst du denn zu erreichen?
In meinem STM32F103C8T6-Datenblatt stehen übrigens andere Werte für VIL
(0.35VDD) und VIH (0.65VDD) als von dir genannt.
Dort ist auch die Hysterese des Schmitt-Triggers als 200mV (TT-Pin) bzw.
0.05VDD (FT-Pin) angegeben.
LG, Sebastian
Sebastian W. schrieb:> Das ist ein Missverständnis. Alles zwischen VIL und VIH wird sehr wohl> als Zustand ausgewertet (es gibt keinen dritten Zustand "kein Zustand"),> aber es ist nicht garantiert als welcher.
ich setze den Interrupt auf fallende Flanke, wie ist eine fallende
Flanke definiert?
Wenn doch ein Zustandswechsel von VIH zu VIL stattfindet, oder nicht?
Somit darf kein Interrupt ausgelöst werden, wenn der Spannungspegel
zwischen VIH und VIL liegt - oder nicht?
Sebastian W. schrieb:> Was versuchst du denn zu erreichen?
Ich habe ein analoges Hallsignal (Fahrrad, Sensor am Tretlager) und ich
versuche die Anzahl Flanken auszuwerten, ist quasi ein Dreiecksignal im
Frequenzbereich bis ca. 100Hz.
Sebastian W. schrieb:> In meinem STM32F103C8T6-Datenblatt stehen übrigens andere Werte für VIL> (0.35VDD) und VIH (0.65VDD) als von dir genannt.
Ja, +/- das gleiche, ich habe die Werte von GWD genommen.
Sebastian W. schrieb:> Dort ist auch die Hysterese des Schmitt-Triggers als 200mV (TT-Pin) bzw.> 0.05VDD (FT-Pin) angegeben.
Wie ist das zu verstehen? Nur 0.2V? Bei welchem Pegel setzt die
Hysterese an und hört sie auf?
Sebastian W. schrieb:> Spannungen zwischen VIL und VIH sind bei Digitaleingängen nur kurz> während Schaltflanken vorgesehen
Wie/wo ist "kurz" definiert? Bei meinem Dreiecksignal ist die fallende
Flanke sehr steil, die steigende nicht... und es kann eben vorkommen
dass das Signal bei einer bestimmten Spannung zwischen High und Low
stehen bleibt (also nicht nur fix LOW und HIGH)
Epi K. schrieb:> Gibt es beim Interrupt / Falling Edge keine Hysterese ?
Die Eingänge haben keine hart definierten Schaltsschwellen. Die pegel
die du genannt hast bedeuten, dass darunter garantiert LOW ist und
darüber garantiert HIGH. Der Bereich dazwischen ist undefiniert.
AVR Mikrcontroller haben eine ausgeprägte Hysterese an ihren Eingängen.
Bei deinem Bluepill Board kann die Hysterese viel kleiner sein.
Erfahrungen mit originalen STM32F1 nützen dir auch wenig, weil auf
deinem Board mit 99% Wahrscheinlichkeit ein gefälschter Chip sitzt.
Epi K. schrieb:> alles zwischen 1V und 2.1V sollte doch gar nicht als Zustand ausgewertet> werden?
Das hast du missverstanden.
Epi K. schrieb:>> Dort ist auch die Hysterese des Schmitt-Triggers als 200mV (TT-Pin) bzw.>> 0.05VDD (FT-Pin) angegeben.> Wie ist das zu verstehen? Nur 0.2V? Bei welchem Pegel setzt die> Hysterese an und hört sie auf?
Bei einigen Pins sogar nur 0,05 Volt. Dass heißt, die obere
Schaltschwelle ist etwa 0,05 Volt höher als die untere. Wo genau "oben"
und "unten" ist, ist nicht spezifiziert.
> 1.3 bis 1.7V
Du hast 0,4 Volt Differenz, was weit über der Schwelle des Schmitt
Trigger ist.
Du kannst dich nur auf die Eigenschaften verlassen, die das Datenblatt
dir zusichert. Alles Andere wäre Hoffen auf Glück, kann ich nicht
empfehlen. Und denke dran, dass das Datenblatt von ST sehr
wahrscheinlich nicht den Chip beschreibt, der vor dir liegt.
Auf jeden Fall solltest du nicht einfach davon ausgehen, dass die alle
Eingänge aller Mikrocontroller immer einen Schmitt Trigger enthalten.
Das ist inzwischen oft so, aber nicht selbstverständlich.
Steve van de Grens schrieb:> deinem Board mit 99% Wahrscheinlichkeit ein gefälschter Chip sitzt.
na und, eine Hysterese sollte doch Basic sein? Meine Spannung bleibt
z.B. fix bei 1.6V und trotzdem feuert der Interrupt voll drauflos... das
ist doch nicht normal (ich habe keine Schwankungen von 0.2V oder
so...also absolut stabil)?
Wie ist eine fallende Flanke definiert? Wenn doch ein Zustandswechsel
von VIH zu VIL stattfindet und alles andere darf doch kein Interrupt
auslösen, egal ob China Chip oder nicht....
Epi K. schrieb:> na und, eine Hysterese sollte doch Basic sein?
Nein ist es nicht. Das ist nur ein nettes Extrabonbon, das manche
Hersteller einbauen. Es hat auch nicht jeder PKW einen Turbolader.
> A Meine Spannung bleibt z.B. fix bei 1.6V und trotzdem feuert der> Interrupt voll drauflos
Das glaube ich dir nicht. In realen Aufbauten hast du immer Rauschen.
Auch in der Stromversorgung, die hier mit eine Rolle spielt.
Steve van de Grens schrieb:> Nein ist es nicht. Das ist nur ein nettes Extrabonbon, das manche> Hersteller einbauen.>> Es hat auch nicht jeder PKW einen Turbolader.
naja, wie gesagt Hysterese ist egal, weil die Spannung ist absolut
stabil bei 1.6V ohne Schwankungen und trotzdem feuert der Interrupt voll
drauf los...
ist das auch normal??
> Wie ist eine fallende Flanke definiert?
Ein Wechseln von garantiertem HIGH Pegel zu garantiertem LOW Pegel
mindestens so schnell wie erforderlich. Die drei zahlen stehen im
Datenblatt. Deine Schaltung erfüllt keins der drei Kriterien.
Epi K. schrieb:> naja, wie gesagt Hysterese ist egal,
Ich denke, du hast dir da ein paar Wunsch-Eigenschaften zusammen
phantasiert und beharrst nun darauf, dass sie tatsächlich vorhanden
sind. So wird das nichts. Wie gesagt kann man sich nur auf die
Eigenschaften verlassen, die im Datenblatt zugewiesen sind.
Steve van de Grens schrieb:> Das glaube ich dir nicht. In realen Aufbauten hast du immer Rauschen.> Auch in der Stromversorgung, die hier mit eine Rolle spielt.
ehm ja, ich messe mit dem Oszilloskop, ich sehe keine Schwankungen, kann
am Abend gerne ein Bild schicken...
Aber ja, wenn die Hysterese bei 0.01V liegt... ja dann vielleicht wäre
es ne Erklärung...
Steve van de Grens schrieb:> Ich denke, du hast dir da ein paar Wunsch-Eigenschaften zusammen> phantasiert und beharrst nun darauf, dass sie tatsächlich vorhanden> sind. So wird das nichts. Wie gesagt kann man sich nur auf die> Eigenschaften verlassen, die im Datenblatt zugewiesen sind.
Hast du schon mal ein MCU Datenblatt gesehen mit GPIO Eingang für
externen Interrupt ausgelegt (Falling / Rising Edge) und ohne Hysterese?
Ich nicht, deshalb fällt es mir gerade schwer dies als Erklärung zu
nehmen... aber vielleicht hast du recht - nur muss ich das zuerst
ausprobieren, IC wechseln etc. :-/
Epi K. schrieb:> Hast du schon mal ein MCU Datenblatt gesehen mit GPIO Eingang für> externen Interrupt ausgelegt (Falling / Rising Edge) und ohne Hysterese?
Habe ich, aber ich habe hier und jetzt keine Lust auf eine
Nebendiskussion über andere Mikrocontroller aus meiner Jugendzeit.
Steve van de Grens schrieb:> Du kannst das drehen und wenden, wie du willst. Es ist und bleibt> falsch, ein Poti an einen digitalen Eingang anzuschließen.
jedes digitale Signal ist im weitesten Sinn auch analog... die Frage ist
immer was man unter einer "steilen Flanke" versteht?
Ab wieviel steil ist es digital oder noch analog :-D?
Epi K. schrieb:> Wie ist das zu verstehen? Nur 0.2V? Bei welchem Pegel setzt die> Hysterese an und hört sie auf?
Das ist eben nicht definiert. Es kann bei jeder Charge und jeder Fab
unterschiedlich sein. Es kann sich auch mit der Temperatur und sonstigen
Parametern ändern.
Epi K. schrieb:> es kann eben vorkommen> dass das Signal bei einer bestimmten Spannung zwischen High und Low> stehen bleibt (also nicht nur fix LOW und HIGH)
Dafür bist Du verantwortlich, daß das Signal garantiert immer <0.35VDD
bzw. >0.65VDD je Zählpuls erreicht.
Du mußt das Signal entsprechend aufbereiten, einen anderen Sensor nehmen
oder es per ADC einlesen.
Manche MCs haben Schwellwertregister, mit denen der ADC-Wert ständig
verglichen wird und die einen Interrupt auslösen können.
Epi K. schrieb:> naja, wie gesagt Hysterese ist egal, weil die Spannung ist absolut> stabil bei 1.6V ohne Schwankungen und trotzdem feuert der Interrupt voll> drauf los...>> ist das auch normal??
Ja.
Jeder IC hat eine Induktivität zwischen dem GND-Pin und seinem internen
GND-Potential. Wenn ein MC rechnet, entstehen Stromschwankungen, die in
dieser Induktivität eine Spannung induzieren. Diese addiert sich zu
allen Eingangsspannungen. Daher ist jedes Digitalsignal störbehaftet und
die Abblockkondensatoren sind sehr wichtig.
Bei analogen Eingängen kann man die Störungen unterdrücken, indem man
differentiell mißt.
Ist der Schmitt-Trigger Eingang immer aktiv oder muß man ihn erst
einschalten?
Peter D. schrieb:> Dafür bist Du verantwortlich, daß das Signal garantiert immer <0.35VDD> bzw. >0.65VDD je Zählpuls erreicht.>> Du mußt das Signal entsprechend aufbereiten, einen anderen Sensor nehmen> oder es per ADC einlesen.> Manche MCs haben Schwellwertregister, mit denen der ADC-Wert ständig> verglichen wird und die einen Interrupt auslösen können.
Ok gut, dann ist das wohl so, danke, wusste ich nicht und somit wieder
was gelernt.
Vielen Dank an Alle.
Peter D. schrieb:> Ist der Schmitt-Trigger Eingang immer aktiv oder muß man ihn erst> einschalten?
Arduino Code , bzw. stm32duino, keine Ahnung ob dies implementiert ist
und eingeschalten wird.
Wüsste auch nicht in welchem und ob es überhaupt so ein Schmitt-Trigger
Register gibt für den STM32F103... glaube eher nicht.
Epi K. schrieb:> Oder habe ich ein China-Chip erwischt?
Was steht denn da wie drauf?
Epi K. schrieb:> Ich habe ein Potentiometer am Interrupt Eingang
Ich halte das für eine Idee, die nicht im Sinne der Erfinder ist. Nicht
umsonst gibt es in anderen µC für solche analogen Aufgaben einen
dedizierten Komparator. Oder eben die vielen ADC-Eingänge.
Abgesehen davon: was willst du mit diesem Ansatz generell erreichen?
Eine definierte und zuverlässig stabile Schaltschwelle gibt es an einem
Digitaleingang doch sowieso nicht.
Epi K. schrieb:> Aber ja, wenn die Hysterese bei 0.01V liegt...
Die entsprechende Spec müsste man im Datenblatt des tatsächlich
verbauten µC nachschlagen.
Ron-Hardy G. schrieb:> wo wird eigentlich das Pending bit im Pending register (EXTI_PR)> rückgesetzt ?
das macht arduino :-D - hoffentlich...
Lothar M. schrieb:> Eine definierte und zuverlässig stabile Schaltschwelle gibt es an einem> Digitaleingang doch sowieso nicht.
wusste ich nicht, ich dachte eine Falling Edge ist definiert mit einem
Zustandswechsel von VIH zu VIL und alles andere wird nicht
berücksichtigt.
Aber da lag ich wohl falsch...
Epi K. schrieb:> Arduino Code , bzw. stm32duino, keine Ahnung ob dies implementiert ist> und eingeschalten wird.> Wüsste auch nicht in welchem und ob es überhaupt so ein Schmitt-Trigger> Register gibt für den STM32F103... glaube eher nicht.
Das steht im Reference Manual. Lass dich durch die scheinbar einfachen
Frameworks nicht dazu verleiten, auf das Lesen dieses enorm wichtigen
Dokumentes zu verzichten!
Epi K. schrieb:> ich dachte ... Aber da lag ich wohl falsch...
Ja, ich habe mir auch schon manchmal ein Verhalten eines Chips erwartet,
das ich dann aber nicht mit den Daten aus dem Datenblatt bestätigen
konnte. Oder andersrum: wenn da nicht ausdrücklich steht, dass es
tatsächlich Schmitttriggereingänge sind und diese auch noch mit
entsprechenden Angaben bis hin zur Hysterese spezifiziert sind, dann
darfst du ein solches Verhalten auch nicht erwarten.
Oder andersrum (und schlimmer noch): es kann sein, dass dein µC heute
ein solches "schmitttriggerähnliches" Verhalten hat. Aber nach dem
nächsten Stepping hat der Pin ein völlig anders Verhalten, das trotzdem
noch mitten innerhalb der im Datenblatt angegebenen Spezifikationen
liegt.
Epi K. schrieb:> Aber ja, wenn die Hysterese bei 0.01V liegt...
Dazu noch das hier:
-
https://community.st.com/s/question/0D53W00000sr3R5SAI/stm32f373-io-characteristics-schmitt-trigger-hysteresis-details
Im Datenblatt steht also, dass die Hysterese des Pins "typisch 100mV"
ist. Es ist dort aber kein Minimal- oder Maximalwert angegeben. In der
Praxis bedeutet das: ja, es ist eine Hysterese vorhanden. Diese
Hysterese hat irgendeinen Wert, der im Durchschnitt bei 100mV liegt.
-
https://community.st.com/s/question/0D53W00000GYA6TSAX/missing-hysteresis-voltage-between-schmitt-trigger-switching-levels-in-datasheet
Der Mittelwert der Messungen dort liegt mit 92mV ziemlich gut an den
angegebenen typischen 100mV.
Beachte im Besonderen den Kommentar des ST Mitarbeiters in diesem Link:
"do not stick to the use of these simple Schmitt triggers for analog
measurement functions"
Lothar M. schrieb:> Oder andersrum (und schlimmer noch): es kann sein, dass dein µC heute> ein solches "schmitttriggerähnliches" Verhalten hat. Aber nach dem> nächsten Stepping hat der Pin ein völlig anders Verhalten, das trotzdem> noch mitten innerhalb der im Datenblatt angegebenen Spezifikationen> liegt.
ok ja, aber wäre eine "Falling Edge" nicht definiert? Oder ab wann
interpretiert eine MCU eine Falling Edge als Falling Edge, wo finde ich
diese Bedingungen definiert?
Epi K. schrieb:> ab wann interpretiert eine MCU eine Falling Edge als Falling Edge,> wo finde ich diese Bedingungen definiert?
Nirgendwo, das ist ja der Knackpunkt. Es sind nur die HIGH und LOW Pegel
definiert. Also ist eine "Falling Edge" wie üblich der Wechsel von HIGH
nach LOW.
Eine definierte Schaltschwelle gibt es da nicht.
Steve van de Grens schrieb:> Nirgendwo, das ist ja der Knackpunkt. Es sind nur die HIGH und LOW Pegel> definiert. Also ist eine "Falling Edge" wie üblich der Wechsel von HIGH> nach LOW.>> Eine definierte Schaltschwelle gibt es da nicht.
Ist die definierte Schaltschwelle nicht der HIGH und LOW Pegel? Sorry...
irgendwie geht mir dies nicht in den Kopf
Epi K. schrieb:> Ist die definierte Schaltschwelle nicht der HIGH und LOW Pegel?
Nein, das sind nur Pegel, die garantiert als HIGH bzw. LOW interpretiert
werden. Es gibt keine definierte Schaltschwelle.
Siehe https://de.wikipedia.org/wiki/Logikpegel (das Bild rechts oben)
Epi K. schrieb:> Ist die definierte Schaltschwelle nicht der HIGH und LOW Pegel? Sorry...> irgendwie geht mir dies nicht in den Kopf
Du stellst dir das falsch herum vor. Dort werden keine
Umschaltspannungen garantiert, sonden voneinander völlig unabhängige
Grenzschaltschwellen für LOW und HIGH.
Epi K. schrieb:> High Level ist doch 0.7 * VDD (2.31v)
Da steht: bei einer Versorgung mit genau 3,3V wird eine Spannung mit
2,31V und höher sicher als HIGH erkannt. Aber auch: eine Spannung mit
2,30V kann bereits als LOW erkannt werden.
> und Low Level 0.3 * VDD (0.99V)
Und da steht: eine Spannung mit 0,99V und weniger wird sicher als LOW
erkannt, aber eine Spannung mit 1,00V kann bereits als HIGH erkannt
werden.
Ron-Hardy G. schrieb:> wo wird eigentlich das Pending bit im Pending register (EXTI_PR)> rückgesetzt ?
Das kann es gut gewesen sein.
Ein Eingang kann mal prellen, aber nicht ständig schwingen.
Oder er ist wirklich offen, z.B. wenn man versehentlich den Nachbarpin
angelötet hat.
Epi K. schrieb:> Ist die definierte Schaltschwelle nicht der HIGH und LOW Pegel? Sorry...> irgendwie geht mir dies nicht in den Kopf
Ja, wenn du (nicht zu langsam) vom HIGH Pegel zum LOW Pegel wechselst
dann hast du definitiv eine FALLING Edge.
Aber: Wenn du von irgendwo unterhalb des HIGH Pegels zu irgendwo
oberhalb des LOW Pegels wechselst dann hast du nicht definiert keine
FALLING Edge.
Verstanden?
Lothar M. schrieb:> Im Datenblatt steht also, dass die Hysterese des Pins "typisch 100mV"> ist. Es ist dort aber kein Minimal- oder Maximalwert angegeben.
In meinem https://www.st.com/resource/en/datasheet/stm32f103c8.pdf ist
ein Minimalwert für die Schmitt-Trigger-Hysterese angegeben.
LG, Sebastian
Ron-Hardy G. schrieb:> wo wird eigentlich das Pending bit im Pending register (EXTI_PR)> rückgesetzt ?
In __HAL_GPIO_EXTI_CLEAR_IT innerhalb von HAL_GPIO_EXTI_IRQHandler aus
AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.4.0
\system\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c, gerufen
aus den installierten Interrupt-Handlern in
AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.4.0
\libraries\SrcWrapper\src\stm32\interrupt.cpp, denke ich. Aber ganz
sicher bin ich da nicht ...
LG, Sebastian