Bauen einer Uhr mit Timer B MSP430F449

Gast #1537088
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
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
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.