Interrupt wird unregelmäßig

OP #1795335
Lesenswert?

Hallo,

Ich habe in einem dspic 30F folgende Interrupt Routine am Laufen:
1
void
2
_ISR _T1Interrupt( void)
3
{
4
  TMR1=0; //restart timer
5
  LATDbits.LATD0=!LATDbits.LATD0; //toggle LED
6
  m10++; //increase 10 ms tic counter
7
  a0=a1; //shift HIER IST DAS PROBLEM
8
    
9
  _T1IF=0; //!!!!clear interrupt flag!!!!
10
}//Timer 1 interrupt

Die Routine wird alle 10 ms oder 18432 Taktzyklen aufgerufen, viel Zeit 
also. Komischerweise wird sie unregelmäßig, sobald die mit "Hier ist das 
Problem" markierte Zeile drin steht. Kommentiert man sie aus: null 
problemo. Steht sie drin: LED flackert unregelmäßig. Das gleiche 
passiert wenn ich statt den beiden chars a0/a1 ein char array a[2] 
verwende, und das erste auf das nullte Element schiebe.
Weder auf PortD noch auf a wird im Moment zugegriffen, ich habe schon 
allen Code ringsrum entfernt. Aber sobald das da drin steht, spinnt der 
Interrupt.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.