STM32F103C8, externen INT auf PA9

Gast #5793444
Lesenswert?

STM32F103C8, BluePill
moin,

ich möchte einen externen INT auf PA9 auslösen.
Das Portbit wird in AFIO_EXTICR3 ( Bit4..Bit7) eingetragen.
Nach DB wird eingetragen:
0000: PA[x] pin
0001: PB[x] pin
0010: PC[x] pin
0011: PD[x] pin
0100: PE[x] pin
0101: PF[x] pin
0110: PG[x] pin
Da ich PA9 benutzen will, werden alle Bit im Register 0.
Woher soll der µC nun wissen, das mein INT über PA9 kommt?

Danke.
VG
Jan
#5793688
Lesenswert?

Stefanus F. schrieb:
> Waaaaah Wirklich?

Ja, bei den STM32 sind die EXTI-Interrupts jeweils pro Pin quer über die 
Ports zusammengefasst, dh. EXTI9 ist PA9, PB9, PC9, PD9, etc.

Dazu kommt noch, dass es (je nach Controller?) Zusammenfassungen gibt, 
so dass EXTI5 bis EXTI9 nur einen einzigen, gemeinsamen Interrupt 
auslösen. Man kann zwar feststellen woher der kam aber das kostet eben 
ein paar zusätzliche Takte und man kann z.B. keine unterschiedlichen 
Prioritäten vergeben.
Gast #5793720
Lesenswert?

STM42 schrieb:
> Du kannst z.B. dann nicht mehr PB9 als GPIO Interrupt verwenden!

Stefanus F. schrieb:
> Waaaaah Wirklich?

Ich habe mich verlesen, dachte du wolltest aussagen, dass ein Pin nicht 
mehr als GPIO verwendbar ist, wenn er einem Interrupt Zugeordnet ist.

Gemeint war aber sicher: Man kann nur einen Px9 Pin als Interrupt 
verwenden, man muss sich für einen Port (A-G) entscheiden.

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