Liebe Freunde, ich weiß langsam nicht mehr weiter: Mein Ziel ist es die PIN Pio1-10 = ADC6 als Analogwert (AD-Wandler einzulesen) Board LPC P1343 von Olimex Hab folgendes gemacht: PDRUNCFG: Bit 5 löschen (Sleep deaktivieren) SYSAHBCLKCTRL: Bit 13 setzen (CLK anmachen) IOCON_PIN1_10: Bit 1 setzen (auswählen) AD0CR: SEL -> 0x40 ClkDiv -> 0x0F (bei 72 Mhz) Burst -> 0 Clks -> 3 (8-Bit-Wert) Start -> 1 AD0GDR auslesen und warten bis Bit 31 eine 1 ist.. auch AD0DR6 gibt keine Werte aus Was hab ich vergessen oder falsch gemacht? Anbei noch das Assemblerprogrämmchen dazu...
1 | LDR r0, =AD0GDR |
2 | ADC_WARTE: |
3 | LDR r1, [r0] |
4 | LDR r2, [r0] |
5 | LDR r3, =0x80000000 |
6 | // Warten, dass Bit 31 eins ist |
7 | AND r2,r3 |
8 | // MOV r1, #46 // Testwert |
9 | BEQ ADC_WARTE |
Das macht nicht unbedingt was Du denkst. Denn es kann passieren, das in R1 der "alte" Wert (ohne Daten/Bit 31) und nur in R2 der "nächste" drin steht. Mach mal aus dem
1 | LDR r2, [r0] |
ein
1 | MOV r2,r1 |
Erst einmal danke Jim... aber das half mir leider nicht... in beiden Register (das ja ja sicher jetzt) steht immer noch eine Null... Hast Du vielleicht noch eine Idee, was ich vergessen oder falsch gemacht haben könnte? lg Horst
achja, noch ein Tip: ich verwende CrossWorks als Evaluationsversion... ist eine wirklich gute IDE. Leider nur 30 Tage verwendbar... (außer man setzt das Systemdatum zurück... grins)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.