Hallo Ich habe mir das EXTi Feauture angeschaut und hätte mal eine Frage dazu: Im Moment verstehe ich das so, dass der STM32 einen Interrupt auslöst z.B auf Line 0 wenn an PA0 PB0 PC0 u.s.w eine Flanke stattfindet. (sofern Flanken konfiguriert sind) Ich möchte aber nur PB0 auswerten. An andern Px0 sind leider noch andere Signale dran. Klar kann man in der Routine schauen welcher Pin den IRQ ausgelöst hat, aber kann mann auch einen Pin einzeln für den IRQ freischalten, um keine unnützen IRQs auszulösen.
Alfredo schrieb: > Im Moment verstehe ich das so, dass der STM32 einen Interrupt auslöst > z.B auf Line 0 wenn an PA0 PB0 PC0 u.s.w eine Flanke stattfindet. > (sofern Flanken konfiguriert sind) Yep, aber nicht an allen, sondern an genau einem dieser Pins. Ausgewählt in AFIO_EXTICR1/2/3/4
Wie A.K. schon geschrieben hat: Im AFIO_EXTICRx Register legst Du vorher fest, welcher Pin (PA0 | PB0 | PC0...) für den Interrupt aktiviert wird. Welche Interruptline dann ausgelöst hat, kannst Du im EXTI_PR Register auslesen. Mit diesen beiden Informationen zusammen ist es eindeutig. Man kann also nur einen Px0 überwachen und muß sich entscheiden, welchen man nimmt (also den von Port A oder den von Port B etc.). Das finde ich persönlich doof, da man auch beim Hardwaredesign sehr aufpassen muß, daß man immer eine andere Portnummer nimmt, wenn man mehrere EXTI überwachen will!
Lutz schrieb: > daß man immer eine andere Portnummer nimmt, wenn man > mehrere EXTI überwachen will! Man muss eine andere Bitnummer (0..15) nehmen. Die Portnummer (A/B/...) darf bleiben.
Ja super, gleich in die Falle getappt. Habe an PB0 und PB1 verschiedene Interrupts (oder hätte sie gerne). Trotzdem danke
Und wo ist das Problem? Nur bei PA0 und PB0 hättest du ein Problem. PA0,PB0,PC0,... => einer davon geht an EXTI0 PA1,PB1,PC1,... => einer davon geht an EXTI1 ... Also geht auch PB0 => EXTI0 PB1 => EXTI1 ...
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.