Gast
#3234932
Hallo Zusammen, Ich habe einen LPC936 und möchte den internen ADC ansteuern und abfragen, weis aber nicht den C-Code dazu. Kann mir jemand helfen? Danke im vorraus :) Mfg Chris
|
Anzeige
|
LPC936 ADC auslesen
Gast
#3234932
Hallo Zusammen, Ich habe einen LPC936 und möchte den internen ADC ansteuern und abfragen, weis aber nicht den C-Code dazu. Kann mir jemand helfen? Danke im vorraus :) Mfg Chris
Gast
#3235514
ADINS = 0x40; // select e.g. AD12 as ADC input (here pin P0.3) ADMODA = 0x10; // AD1 in fixed channel single conversion mode ADCON1 = 0x04; // ADC channel 1 enabled ADMODB = 0xE0; // divide by 8 ADC clock ADCON1 |= 0x01; // start conversion immediately while((ADCON1 & 0x08) == 0); // wait for end of conversion ADCON1 &= 0xF7; // clear EOC flag ... = AD1DAT2; // value
Gast
#3305472
Hey Leute, ich will mit meinem LPC936 eine Ganganzeige realisieren, hier ist mein Code welcher aber noch nicht funktoniert, ich weis aber nicht warum -.- Ich geh auf Pin0.3 mit meinem Analog wert (0-2,5V) Dann den ADC WERT abfragen und mit meiner Vref vergleichen und dem entsprechende und 1,2,... ausgeben. Könnt ihr mir helfen?
In deinem Programm sind mehrere syntaktische Fehler enthalten.
Erstens musst du die globale Variable "adcWert" erst mal deklarieren mit
z.B. "unsigned char adcWert = 0x00".
Zweitens kannst du (je nach Compiler) in dem if else Zweig Binärzahlen
so nicht schreiben. Diese Zahlen werden wegen der führenden "0" sonst
als Oktalzahlen interpretiert werden und überschreiten somit den
Gültigkeitsbereich. Verwende dort am besten Hex Zahlen.
Drittens hast du in der while(1) Schleife zwei(?) öffnende und
schließende Klammern, was keinen Sinn ergibt.
Ich würde dir empfehlen, erst mal etwas die Programmierung in der
Hochsprache C zu vertiefen. Dann wird dir auch gleich einiges selber
klar, wie du weiter vorgehen musst. :)
Ciao,
Rainer
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|