STM32 Interrupt Handler und I2C

Gast #4200382
Lesenswert?

Ich habe einen STM32F103 Controller und darauf einen Sensor über I2C 
angeschlossen. Der Sensor kann einen Interrupt auslösen (Auf PIN3 in dem 
Fall).

Meine Frage: Wie kann ich einen Interrupt Handler schreiben, welcher 
darauf reagiert?

Was mir an Informationen fehlt:
- Auf welchem Pin bei dem Controller muss ich auf den Interrupt 
"warten"?
- Wie kann ich einen Interrupt Handler speziell für diesen Pin 
schreibene?
Gast #4200418
Lesenswert?

Hallo;
du kannst am STM32 im Prinzip jeden GPIO Pin als Externen Interrupt 
definieren.
Hierfür hast du 16 "externe Interrupts".

Also für jedes Bit eines GPIO Ports jeweils einen.

Per Definition kannst du diesen also nur einmalig vergeben.

Du hast also EXTI1 nur für Bit 1 von PORTA,oder B,oder C ...

Abzüglich den Ports an dem sich deinen I2C Perepherie befindet.

Beispiele für Interrupt handling findest du im Netz.

Empfehlung: CubeMX Konfigurator verwenden, dieser erzeugt emtsprechendes 
Codeframnent.

Gruss
Gast #4200451
Lesenswert?

Danke für die hilfreichen Antworten.
Bei mir fehlt aber noch ein ziemliches Grundverständniss im Bezug darauf 
wie ich herausfinde welche Pins/Ports meine I2C Peripherie belegt.

Klar, ich habe den Stromlaufplan, aber ich bin nicht wirklich in der 
Lage den korrekt zu interpretieren. Ich sehe die Pins auf meinem Board, 
aber wo/wie finde ich die dann im Stromlaufplan?
Gast #4200532
Lesenswert?

Hallo,
1. steht im Datenblatt deines Kontrollers

Da gab es auch eine Tabelle Stichwort "alternative Function GPIO, o.ä.

2. Schau dir mal den CubeMx Konfigurator an, vielleicht wird es dann 
klarer .

 -> Auswahl der Peripherie und Wirkung an der Pin Übersicht.

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