Forum: Mikrocontroller und Digitale Elektronik LPC2142 ADC funktioniert nicht


von Julian (Gast)


Lesenswert?

Hallo,

versuche mit folgendem Code vom AD0.2 auf einem LPC2142 zu lesen:
1
#define ADC1_SEL_2142 26
2
#define ADC_START 24
3
#define ADC_DONE 0x80000000
4
5
        PINSEL1 &= ~(3 << ADC1_SEL_2142);
6
        PINSEL1 |= (1 << ADC1_SEL_2142);
7
8
        AD0CR = 0x00200f04; /* AD1: 10bit AIN1 3MHz */
9
        AD0CR = (1 << ADC_START); /* start AD conversion */
10
11
        do {
12
            i++;
13
            val = (U32)AD0DR2;
14
        } while ((val & ADC_DONE) == 0); // && i < 2000);

Die Prüfung auf i als Timeout habe ich bewusst auskommentiert, da ich 
wissen wollte ob irgendwann ein Ergebnis rauskommt - leider friert 
dieser Code immer ein - Ich nehme an es wird eine Endlosschleife beim 
Prüfen auf Erfolg sein...

Hat jemand eine Idee was falsch läuft?

von Julian (Gast)


Lesenswert?

Um mir selbst zu antworten:
Es muss natürlich
1
AD0CR |= (1 << ADC_START); /* start AD conversion */
sein...

von tuppes (Gast)


Lesenswert?

Was ist mit Power-Control? Steht Bit 12 (PCAD0) in PCONP auf 1?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.