Gast
#2885563
Hallo Leute,
ich bin ein blutiger Anfänger und habe mir eine Schaltung mit ATtiny24A
aufgebaut mit internen Oscilator. Am PIN10(ADC3) liegt eine Spannung von
ca 3V an und diese möchte ich mit ADC auslesen und paar Ausgänge
schalten. Mein Problem ist das Programm will irgendwie nicht. Kann mir
jemand sagen was ich falsch mache? Ich kriege es einfach nicht raus,
warum immer der ADC Wert nicht grösser Null ist!!!
<code>
int BattVoltage;
int main(void)
{
IO_init();
DDRA &= ~(1<<PA3);
while(1)
{
ADMUX = 0x03; // Kanal 3 wählen und VCC als Referenzspannung
ADCSRA |= (1<<ADPS2) | (1<<ADPS1); // Frequenzvorteiler 64
ADCSRA |= (1<<ADEN); // ADC aktivieren
ADCSRA |= (1<<ADSC); // eine Wandlung "single conversion"
while (ADCSRA & (1<<ADSC) ); // Einmal durchlaufen lassen
_delay_ms(1);
ADCSRA |= (1<<ADSC); // eine Wandlung "single conversion"
while (ADCSRA & (1<<ADSC)); // Abschluss der Konvertierung warten
_delay_ms(1);
BattVoltage= ADCW;
if (BattVoltage > 0){
LS1_ON;
LS2_ON;
}
LS1_OFF;
LS2_OFF;
}
}
</code>