Timerfrage bei MSP430

OP #2424103
Lesenswert?

Hallo,

habe ne kleine Frage, ich versuche mich gerade mit dem Timer (LPM3 
Betrieb) zu befassen, den ich für die Ansteuerung eines 
DS1820(Parasite-Mode) benötige der sich an P1.1 befindet.

für den DS1820 brauch man ja verschiedene Zeiten, jetzt habe ich mal bei 
TI die Codebeispiele durschaut und hoffe ich habe als Ansatz das 
richtige gefunden.
Kann mir bitte jemand da weiterhelfen, ob ich da auf den richtigen Weg 
bin
1
#include  <msp430x14x.h>
2

3
void main(void)
4
{
5
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
6
  P1SEL |= 0x0E;                            // P1.1 - P1.3 option select
7
  P1DIR |= 0x0F;                            // P1.0 - P1.3 outputs
8
  CCTL0 = OUTMOD_4 + CCIE;                  // CCR0 toggle, interrupt enabled
9
  CCTL1 = OUTMOD_4 + CCIE;                  // CCR1 toggle, interrupt enabled
10
  CCTL2 = OUTMOD_4 + CCIE;                  // CCR2 toggle, interrupt enabled
11
  TACTL = TASSEL_1 + MC_2 + TAIE;           // ACLK, contmode, interrupt enabled
12

13
  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/interrupt
14
}
15

16
// Timer A0 interrupt service routine
17
#pragma vector=TIMERA0_VECTOR
18
__interrupt void Timer_A0 (void)
19
{
20
  CCR0 += 4;                                // Add Offset to CCR0
21
}
22

23
// Timer_A3 Interrupt Vector (TAIV) handler
24
#pragma vector=TIMERA1_VECTOR
25
__interrupt void Timer_A1(void)
26
{
27
  switch( TAIV )
28
  {
29
  case  2: CCR1 += 16;                      // Add Offset to CCR1
30
           break;
31
  case  4: CCR2 += 100;                     // Add Offset to CCR2
32
           break;
33
  case 10: P1OUT ^= 0x01;                   // Timer_A3 overflow
34
           break;
35
 }
36
}

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