Hallo,
ich habe ein Problem mit dem externen Interrupt an PA3 des STM8S und
weiss absolut nicht warum es nicht geht. An PD4 zum Beispiel
funktioniert es. Aber bei PA3 springt er einfach nicht in die Routine.
Das ist mein Code dazu:
1 | //
|
2 | // Process the interrupt generated by the pressing of the button on PA3.
|
3 | //
|
4 | #pragma vector = 5
|
5 | __interrupt void EXTI_PORTA_IRQHandler(void)
|
6 | {
|
7 | PC_ODR_ODR3 = !PC_ODR_ODR3;
|
8 | }
|
und die Registerkonfiguration:
1 | asm("SIM");
|
2 | PA_ODR = 0; // All pins are turned off.
|
3 | PA_DDR_DDR3 = 0; // PA3 is input.
|
4 | PA_CR1_C13 = 0; // PA3 is pull high
|
5 | EXTI_CR1_PAIS = 2; // Interrupt on falling edge.
|
6 | EXTI_CR2_TLIS = 0; // Falling edge only.
|
7 | asm("RIM");
|
Hat irgendjemand von euch eine Idee wieso es nicht geht?
Als Anschluss ist ein Button mit Pullup, welcher den Eingang auf GND
zieht, wenn man ihn betätigt.
Besten Dank,
Niine