A/D Wandler

Gast #31610
Lesenswert?

Hi,

könnte mir bitte mal jemand sagen wie ich den A/D wandler eines 
AT90S4433 abfrage ? ( PortC) Welche register muss ich setzen damit der 
Port als AD wandler funzt und wie bekomme ich den wert 0-255, also je 
nach 0 bis 5V des AD wandlers in ein Arbeitsregister um ihn 
weiterverarbeiten zu können ? Ich habe mit der AD Wandler funktion 
bisher noch keine erfahrungen und wäre für tips, bzw für eine routine 
dankbar. Tipps wären mir in erster Linie wichtiger weil ich möcht es ja 
verstehen, oder eine gut kommentierte routine.

Mal 1000 Dank im Vorraus

Gruß, Andy
Gast #31614
Lesenswert?

In C (WINAVR) mit Vorteiler 32:

// ADC starten.
outp((1<<ADEN)|(1<<ADSC)|(1<<ADPS2)|(1<<ADPS0), ADCSR);
// warten,bis ADC fertig
loop_until_bit_is_clear(ADCSR, ADSC);
// einlesen der Werte, Low..
wert=inp(ADCL);
// ..High
wert=istwert|(inp(ADCH)<<8);

In dieser Form läufts bei mir.

Grüße,
Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren