Gast
#2760346
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