Forum: Mikrocontroller und Digitale Elektronik Timerfrage bei MSP430


von Lutze53 E. (lutze53)


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
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.