Initialisierung verhindert Interrupt

OP #4334370
Lesenswert?
• ▲
▼
Hey,
ich programmiere mit Code Composer Studio v5, einen MSP430F6638. Ich 
will mit einem Timer einen Interrupt auslösen und in der ISR eine 
Messung vornehmen. Das Problem ist das eine Initialisierung die ich für 
die Messung benötige verhindert dass der Interrupt ausglöst wird. Wenn 
ich diese auskommentiere funktioniert es einwandfrei:

Die Initialiserung
1
void I2C_init(unsigned char Slave, unsigned char Prescale) {
2
  P8SEL |= SCL+SDA;                          // Assign I2C pins to USCI_B1
3
  P8DIR |= SCL+SDA;
4
  UCB1CTL1 |= UCSWRST;                        // Enable SW reset
5
  UCB1CTL0 = UCMST + UCMODE_3 + UCSYNC;       // I2C Master, synchronous mode
6
  UCB1CTL1 |= UCSSEL_2;                  // Use SMCLK, keep SW reset
7
  UCB1BR0 = Prescale;                         // fSCL = SMCLK/10 = 100kHz (only if SMCLK=1MHz, DCO as Source)
8
  UCB1BR1 = 0;
9
  UCB1CTL0 &= ~UCSLA10;                       // Set slave address 7 bits
10
  UCB1I2CSA = Slave;                          // Set slave address
11
  UCB1CTL1 &= ~UCSWRST;                       // Clear SW reset, resume operation
12
  UCB1IE |= 0x3FFF;                      // Enable RX + TX + all other interrupt
13
  UCB1IFG = UCTXIFG;
14
}

Der Timerinterrupt:
1
  TA1CCTL0 = CCIE;                          // CCR0 interrupt enabled
2
  TA1CCR0 = 50000;
3
  TA1CTL = TASSEL_2 + MC_1 + TACLR;         // SMCLK, upmode, clear TAR
4

5
__bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, enable interrupts
6
 
7
  // Timer1 A0 interrupt service routine
8
  #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
9
  #pragma vector=TIMER1_A0_VECTOR
10
  __interrupt void TIMER1_A0_ISR(void)
11
  #elif defined(__GNUC__)
12
  void __attribute__ ((interrupt(TIMER1_A0_VECTOR))) TIMER1_A0_ISR (void)
13
  #else
14
  #error Compiler not supported!
15
  #endif
16
  {
17
    P1OUT ^= 0x01;
18
  }

liegt das vllt irgenwie daran dass beide auf den SMCLK zugreifen 
wollen_??

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.