Bauen einer Uhr mit Timer B MSP430F449

Gast #1537088
Lesenswert?

Hallo Community,

ich will mir eine Uhr bauen die mit Hilfe des Timer B die Sekunden 
zählt.


Meine ISR ist im Anhang

Mein Timer habe ich folgendermaßen initialisiert:
1
TBCTL = TBSSEL0 | TBCLR;
2

3
// Bei Knopfdruck wird die Uhr gestartet
4
TBCCTL0 = CCIE;                             // CCR0 interrupt enabled
5
TBCCR0 = (3333); 
6
TBCTL = TBSSEL_0 + MC_3 + ID_1 + ID_2;    // TACLK, up/down Mode

Die Werte sind beliebig gewählt es geht mir nur darum dass der Interrupt 
generell ausgelöst wird, was er aber leider nicht macht.

Mit Timer A habe ich schon ein Count-Down-Timer geschrieben und der geht 
einwandfrei...

grüße
Angehängte Dateien:
Gast #1537116
Lesenswert?

Da es dir darum geht generell einen Interrupt auszulösen wäre es doch 
ev. noch Sinnvoll die GIE zu aktivieren (General_Interrupt_Enable) 
ansonsten wird nie ein Interrupt ausgelöst, dazu solltest du in deiner 
Interrupt rutine noch abfragen welches Flag des TimerB 
Interruptregisters den Interrupt ausgelöst hat, denn du möchtest nicht 
auf alle Timer Interrupts reagieren.
Gast #1537152
Lesenswert?

Hmm Okay,
ich glaub ich habs schlecht erklärt.
Also ich hab ein Programm wo der TImer A als Countdown Timer genutzt 
wird und der Timer B als Sekundenzähler für eine Uhr.
Wenn der Timer B ein Interrupt auslöst soll die Uhr 1s weiter laufen 
(dafür die ISR)
1
// ISR
2

3
// Countdown - Interupt
4
#pragma vector=TIMERA0_VECTOR
5
__interrupt void Timer_A (void)
6
{
7
  for (i=0; i!= 10; i++) BUZZER();
8
  LCD_all();                            
9
  TACTL = TASSEL_0 + MC_0 + ID_1 + ID_2 + TACLR;
10
}
11

12
// Clock - Interupt
13
#pragma vector=TIMERB0_VECTOR
14
__interrupt void Timer_B (void)
15
{
16

17
//Anhang
18

19
}

Ist das nicht so dass bei TIMERB0 Interrupt die Clock Routine abgerufen 
wird und bei TIMERA0 der Countdown Ablauf.

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