Hallo,
ich habe einen MSP430F147. An P1.0 hängt ein externes IC, das damit den
Takt vorgibt (14.4 kHz) mit dem an einem weiteren Pin die Daten
ausgegeben werden (also eine Art SPI). Dazu habe ich eine
Interruptroutine geschrieben:
1 | P1IES = 1<<0; //falling edge for DCLK
|
2 | P1IE = 1<<0; //Enable P1.0 IRQ
|
3 | eint(); //Enable global IRQ
|
4 |
|
5 |
|
6 | interrupt (PORT1_VECTOR) port_int(void)
|
7 | {
|
8 | P2OUT ^= 1<<6;
|
9 | }
|
Das Problem ist nun, dass die IRQ Routine ständig aufgerufen wird (weit
über 200 kHz); je mehr Code darin steht desto langsamer wird dann
natürlich P2.6 getaktet. Eigentlich sollten es nur 14.4 kHz sein.
Muss ich noch etwas beachten, z.B. bestimmte Flags zurücksetzten o.ä. ?
Schöne Grüße
Interruptor