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?