1,5s mit Timer (MSP430) erzeugen

Gast #2146580
Lesenswert?
• ▲
▼
Nachtrag:
Es wird die Betriebsart MC0, also zählen bis TACCR0 erreicht wird, 
verwendet. Auch in dieser Betriebsart sollten 1,5 s einstellbar sein.
Deshalb würde ich mich freuen, wenn jemand auf meine Frage nochmals 
eingehen würde
MfG.
Gast #2148889
Lesenswert?
• ▲
▼
Was meinst du mit Betriebsart MC0? Wenn die Mode control Bits Null sind 
ist der Timer gestoppt.
Wenn du den Timer im Up-Mode betreibst dürfte 49151 der richtige Wert 
für 1,5 s sein weil von 0 gezählt wird:
0, 1, 2, ..., 49151, 0, ...
Gast #2148890
Lesenswert?
• ▲
▼
Wolfgang-G schrieb:
> gibt es noch weitere Meinungen?

Über Meinungsumfragen kann man das zwar lösen, aber viel besser als ein 
Ratespiel ist das auch nicht.

Du schreibst nicht, welche Entwicklungsumgebung du benutzt, aber 
normalerweise sollte die über einen CPU-Taktzähler und/oder eine 
Stoppuhr verfügen, damit du im Zweifelsfall genau solche Dinge im 
Simulator ausmessen kannst.

MfG
Gast #2148923
Lesenswert?
• ▲
▼
Du musst den Timer mit -1 laden!

Hier kannste dir auch ein Example von TI angucken:
1
//******************************************************************************
2
//  MSP430x26x Demo - Timer_A, Toggle P1.0, CCR0 Up Mode ISR, 32kHz ACLK
3
//
4
//  Description: Toggle P1.0 using software and the TA_0 ISR. Timer_A is
5
//  configured for up mode, thus the timer overflows when TAR counts
6
//  to CCR0. In this example, CCR0 is loaded with 1000-1.
7
//  Toggle rate = 32768/(2*1000) = 16.384
8
//  ACLK = TACLK = 32768Hz, MCLK = SMCLK = default DCO ~1.045MHz
9
//  //* An external watch crystal on XIN XOUT is required for ACLK *//  
10
//
11
//           MSP430F261x/241x
12
//         ---------------
13
//     /|\|            XIN|-
14
//      | |               | 32kHz
15
//      --|RST        XOUT|-
16
//        |               |
17
//        |           P1.0|-->LED
18
//
19
//  B. Nisarga
20
//  Texas Instruments Inc.
21
//  September 2007
22
//  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.42A
23
//******************************************************************************
24

25
#include  <msp430x26x.h>
26

27
void main(void)
28
{
29
  WDTCTL = WDTPW + WDTHOLD;             // Stop WDT
30
  P1DIR |= 0x01;                        // P1.0 output
31
  CCTL0 = CCIE;                         // CCR0 interrupt enabled
32
  CCR0 = 1000-1;
33
  TACTL = TASSEL_1 + MC_1;              // ACLK, upmode
34

35
  _BIS_SR(LPM3_bits + GIE);             // Enter LPM3 w/ interrupt
36
}
37

38
// Timer A0 interrupt service routine
39
#pragma vector=TIMERA0_VECTOR
40
__interrupt void Timer_A (void)
41
{
42
  P1OUT ^= 0x01;                        // Toggle P1.0
43
}
Gast #2148964
Lesenswert?
• ▲
▼
Dank an alle, die sich an der "Meinungsumfrage" beteiligt haben.
Stefan und Denis, sowie Anwendungsbeispiele von TI und weitere eigene 
Überlegungen haben mich überzeugt, dass mit 49152-1 genau eine Taktzeit 
von 1,5s erzeugt wird.

@Stefan
Ich verwende mspgcc und hier ist in timera.h die Betriebsart wie folgt 
definiert:
#define MC0           0x0010  /* Timer A mode control 0 */

#define MC_0          (0<<4)  /* Timer A mode control: 0 - Stop */
#define MC_1           1<<4)  /* Timer A mode control: 1 - Up to CCR0

d.h. MC0 ist gleich MC_1.
Programmieren ist nicht so mein Ding. Deshalb mal die Frage: bedeutet 
(1<<4), dass die 1   4 Stellen nach links geschoben wird?
MfG

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.