[MSP430] Laufzeit ISR

Gast #1049746
Lesenswert?

Hallo,

ich wollte die Laufzeit einer ISR bestimmen, indem ich einfach einen 
Port ein und ausschalte. Es handelt sich um einen ISR fuer die 
Datenuebertragung via RS232. Wenn ich die Baudrate variere 9600- 
115200baud, sollte die Laufzeit sich ja gravierend aendern (von 1ms bis 
0.8ms)
Es ist jedoch so, dass die Pins immer im gleichen Zeitabstand von 
einigen µs ein und ausgeschaltet werden.

Warum ist das so? Wie kann ich die Laufzeit der RS232-Uebertragung 
beobachten?
1
void sio0_isr(void)
2

3
{    
4
   P2OUT |= 0x02;
5
  if(n_send < 4)
6

7
  {    
8
    U0TXBUF = Ziffern_send[n_send];
9
    n_send++;
10
  }
11
  else
12
  {
13
   n_send = 0;
14
   }
15
  P2OUT &= 0xfd;
16
}
#1049850
Lesenswert?

Christian R. wrote:
> Eben, und da du nicht mal prüfst, ob der Sendepuffer wieder frei ist,
> bevor du das nächste Zeichen sendest, geht die Sache eh schief. Du musst
> vor jedem Senden schauen, ob der Puffer bereit ist.

Wozu?

Der Interrupt kommt doch erst, wenn der Sendepuffer frei ist.
Das ist ja der Sinn des Interrupts.


Peter

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