MSP430 F1612 Single-Channel, Single Conversion - Mode (ADC12)

OP #798015
Lesenswert?
• ▲
▼
Hi Leute,

ich habe momentan ein riesen Brett vor dem Kopf. Warum funktioniert 
folgender Code bei mir nicht?
1
// In einer Initialisierungsfunktion
2

3
P6DIR   = 0xEF;
4
P6SEL   = 0x10;
5
    
6
ADC12CTL0 = ADC12ON + SHT0_1 + REFON + REF2_5V; // Konfiguriert ADC12
7
ADC12MCTL0 = SREF_1 + INCH_4;                   // Vr+=Vref+ und Vr-=AVss,  
8
                                                //  Konvertierung von a4
9
ADC12CTL1 = CONSEQ_0;                      // SC-SC Mode
10
 
11
ADC12CTL0 |= ENC;        // Konvertierung beginnen
12

13

14
// ....
15

16
// Interruptroutine von TimerA
17

18
ADC12CTL0 |= ADC12SC + ENC;             // Abtasten und Konvertieren
19
while ((ADC12IFG & 0x0001)==0);         // Hier bleibt das Programm hängen      
20

21
U0TXBUF = (ADC12MEM0>>8);
22
while( ( IFG1 & 0x80 ) == 0 );    
23

24
U0TXBUF = ADC12MEM0;
25
while( ( IFG1 & 0x80 ) == 0 );
26

27
// Ende

Der Code bleibt bei der Abfrage des ADC - Interrupts hängen. Ich gehe 
davon aus, dass ich den AD-Wandler falsch konfiguriert habe, aber was 
habe ich falsch gemacht?

Vielen Dank im Vorraus für eure Hilfe!
Schönes Wochenende!
Armin

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