MSP430 hängt in AD-Wandlung

Gast #2760346
Lesenswert?
• ▲
▼
uint16_t AD_Wert(void)  //P6.5 in AD-Wandlung
{
uint16_t temp=0;

ADC12CTL0 &=~ (ADC12ENC + ADC12SC);

ADC12CTL0 = (ADC12SHT02 + ADC12ON);  //64ADC-CLK-Cycles, ADC_ON

ADC12CTL1 = (ADC12CSTARTADD2 + ADC12CSTARTADD0);// in ADC12MEM5 
speichern
ADC12CTL1 |= ADC12SSEL1;         // MCLK auswählen

ADC12MCTL5 = ADC12INCH0 + ADC12INCH2;  // Input Channel Kanal 5
ADC12IFG =0;
ADC12CTL0 |= (ADC12ENC + ADC12SC);    // Enable Conversion
          // AD-Wandlung starten

while(!(ADC12IFG & BIT5));  // NoOp until ADSC12 is reset after 
conversion.
> --> hier hängt der Controller!!!


temp = ADC12MEM5;  // MEM-Register auslesen

ADC12CTL0 = 0x0000;      // ADC12CTL0 löschen

return temp;
}


Controller:
MSP430F5438

woran mag es liegen, dass die AD-Wadlung nicht weiter kommt?

mfg
Gast #2760949
Lesenswert?
• ▲
▼
...könnte es daran liegen, dass ich die Zeile:

>P6SEL |= BIT5;

nicht verwendet habe?

im Family-Guide steht hierfür ein "don't care" drin,

ABER: in einigen Beispielcodes wird die Zeile dennoch verwendet...

mfg
Gast #2761625
Lesenswert?
• ▲
▼
ja, danke für den Tip.

Sobald ich im Debugger das Bit auf "0" zurück setze, wird automatisch 
das ADC12IFG5 gesetzt und das richtige Wandlungsergebnis in das 
ADC12MEM5 gespeichert.

Nun ist natürlich die Frage, wie das SC-Bit automatisch zurückgesetzt 
wird...

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.