Mit "Single Channel Single Conversion" wird das auch nix.
1 | ADC12CTL1 = SHP + CONSEQ_1; // Use sampling timer + Sequence
|
ebenso wie oben schon geschrieben, list du das falsche Register aus. Auf
das Flasg des 1. ADC-Kanals musst du nicht warten, kannst gleich nach
dem 2. Flag beide auslesen.
Also so:
1 | float wertA, wertB;
|
2 | ADC12CTL= &= ~ENC; //Conversion deaktivieren, damit alles eingestellt werden kann
|
3 |
|
4 | ADC12CTL0 = ADC12ON + MSC + SHT0_2; // ADC aktivieren, Sample and Hold Time 16 Cycles
|
5 | ADC12CTL1 = SHP + CONSEQ_1; // pulse sample mode selected
|
6 | ADC12MCTL0 = SREF_2 + INCH_0; // Referenz-Spannung: Vr+ = Vref+, Input Channel: A0
|
7 | ADC12MCTL1 = SREF_2 + INCH_0 + EOS;
|
8 |
|
9 | ADC12CTL |= ENC;
|
10 |
|
11 | ADC12CTL0 |= ADC12SC; // ADC starten und Konversion starten
|
12 |
|
13 | while ((ADC12IFG & BIT1) == 0); // Warten bis AD Wert verfügbar
|
14 | wertA = (float)ADC12MEM0;
|
15 | wertB = (float)ADC12MEM1;
|