Gast
#182164
Hi Leute
Ich bin am verzweifeln ich bekomm irgendwie keine AD Wandlung mit dem
AT MEGA32 hin, ich möchte nur mit einem Multiplexer Kanal arbeiten
(PA0). An ADC0 liegen 5V an, ich habe eigentlich so gemacht, wie im gcc
Tutorial beschrieben. Ich weiß echt nich mehr weiter, bitte schaut euch
mal mein Code an.
#include <avr/io.h>
#include <avr/signal.h>
int main(void)
{
int x;
DDRC=0xff; // Port C als Ausgang definieren
PORTC=0xff; // LED Reset
ADCSRA = 0b1|0|1|0|0|1|1|0;
//ADCSRA = (ADEN<<1) | (ADFR<<1) | (ADPS2<<1) | (ADPS1<<1); // AD
Konverter aktivieren
ADMUX = (ADLAR<<1); // ADLAR in ADMUX setzen für 8-Bit Abtastung
ADCSRA = (ADSC<<1); // wandlung starten
if(bit_is_set(ADCSRA,2))
{
if(bit_is_set(ADCH,15) || bit_is_set(ADCH,14) || bit_is_set(ADCH,13)
|| bit_is_set(ADCH,12) || bit_is_set(ADCH,11) || bit_is_set(ADCH,10) ||
bit_is_set(ADCH,9) || bit_is_set(ADCH,8))
{
cbi(PORTC,0);
}
else
{
cbi(PORTC,7);
}
}
return 0;
}