PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ADC Problem bitte um Hilfe



Crocodile
09.10.2005, 19:09
Hallo zusammen,

habe ein problem mit dem ADC und zwar gibt der mir ganz falsche Werte als er müsste.Wenn ADC größer als 512 ist soll eine LED leuchten, Er gib mir aber schon einen Wert (bzw. die LED leuchtet) obwohl keine Spannung anliegt.

Vcc sowie AREF sind 4,5 V

vielen Dank schonmal

Der von mir verwendete code:




#include <avr/io.h>

int main(void)
{

int result;


ADMUX = (1<<MUX0);

ADCSRA = (1<<ADEN)|(1<<ADPS2);


while (1)
{

/* Wandlung starten */
ADCSRA |= (1<<ADSC);

/* Warten bis die AD-Wandlung abgeschloßen ist */
while ( !(ADCSRA & (1<<ADIF)) )
{

/* AD-Wert auslesen */
result = ADC;


if (result >300 )
{
DDRD |= (1<<PD6); /
PORTD |= (1<<PD6);/
PIND |= (1<<PD6);
}
else
{
DDRD &= ~(1<<PD6);
PORTD &= ~(1<<PD6);
PIND &= ~(1<<PD6);
}
}
}
}

PicNick
09.10.2005, 19:22
Kann das sein, daß dir eine Klammer verrutscht ist ?


while ( !(ADCSRA & (1<<ADIF)) )
{ }