Gast
#1680425
Hallo Zusammen,
vielleicht kann mir jemand mit meinem ADC weiterhelfen. Ich habe schon
viele Beträge durchforstet aber so richtig konnte ich meinem Fehler
trotzdem nicht auf die schlieche kommen.
Mein Problem ist, dass der ADC mir immer im Register ADC12MEM7 den Wert
0 ausgibt. Also im Debug Modus ist dieser Wert immer 0. Die Rechnung die
unten stattfindet betrachte ich zunächst garnicht, sondern ich habe mir
einen Breakpoint in der Zeile temp_value = (Vref/4095)*ADC12MEM6;
eingefügt und betrachte mir im Debug Modus den Wert von ADC12MEM7.
An dem Pin eine Spannung von 0.1V an, sodass eigentlich ein Wert zu
erwarten ist.
Hier ist der Code meines ADCs:
P6DIR = 0x27;
P6SEL |= 0xD8; // Current Sensor --> ADC Function
ADC12CTL0 = ADC12ON+SHT0_8+MSC+REFON;
ADC12CTL1 = CSTARTADD_0+SHP+CONSEQ_1;
ADC12MCTL3 = SREF_1+INCH_3; // wert von p 6.3 landet in ADC12MEM3
ADC12MCTL4 = SREF_1+INCH_4; // wert von p 6.4 landet in ADC12MEM4
ADC12MCTL6 = SREF_1+INCH_6; // wert von p 6.6 landet in ADC12MEM5
ADC12MCTL7 = SREF_1+INCH_7+EOS; // wert von p 6.7 ADC12MEM7
//Sequenz End by EOS
ADC12CTL0 |= ENC; // los
ADC12CTL0 |= ADC12SC; // konvertierung starten
wait(10000);
// while ((ADC12CTL1 & ADC12BUSY) == 1);
current_LNA = (Vref*ADC12MEM3)/(4095*24e3/5e3);
current_AMPs = (Vref*ADC12MEM7)/(4095*24e3/5e3);
current_MIXER = (Vref*ADC12MEM4)/(4095*1e3/5e3);
temp_value = (Vref/4095)*ADC12MEM6;
vielleicht sieht ja jemand direkt was ich falsch mache.
ich weiß im Moment leider erstmal nicht weiter.
Viele Grüße,
Andreas
