Crocodile
14.10.2005, 02:36
Hallo,
Hab ein Problem mit dem ADC und zwar leuchtet die LED schon wenn ich nur in die nähe des Pins komme.AVCC und AREF sind 4,5 V direkt mit der Eingansspannung des Controllers verbunden und AGND dirket mit GND .
Sitze da jetzt schon mehrere Tage dran deshalb wär es echt nett wenn mir jemand Helfen könnte hab auch nichts hilfreiches im Forum gefunden.
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/iom32.h>
volatile int result;
SIGNAL (SIG_ADC) /*Interrupt-Routine*/
{
result = ADC;
}
int main() {
ADMUX = 0;
ADCSRA = (1<<ADIE)|(1<<ADEN)|(1<<ADPS2)|(1<<ADATE)|(1<<ADSC)|(1<<ADPS0);
sei(); /* Global Enable Interrupt Flag setzen */
while(1)
{
if (result > -600) {
DDRD |= (1<<PD6); /*Ausgang*/
PORTD |= (1<<PD6);/*Pull up an*/
PIND |= (1<<PD6); /*High*/
}
else{
DDRD &= ~(1<<PD6); /*Ausgang*/
PORTD &= ~(1<<PD6);/*Pull up an*/
PIND &= ~(1<<PD6); /*High*/
}
}
}
Hab ein Problem mit dem ADC und zwar leuchtet die LED schon wenn ich nur in die nähe des Pins komme.AVCC und AREF sind 4,5 V direkt mit der Eingansspannung des Controllers verbunden und AGND dirket mit GND .
Sitze da jetzt schon mehrere Tage dran deshalb wär es echt nett wenn mir jemand Helfen könnte hab auch nichts hilfreiches im Forum gefunden.
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/iom32.h>
volatile int result;
SIGNAL (SIG_ADC) /*Interrupt-Routine*/
{
result = ADC;
}
int main() {
ADMUX = 0;
ADCSRA = (1<<ADIE)|(1<<ADEN)|(1<<ADPS2)|(1<<ADATE)|(1<<ADSC)|(1<<ADPS0);
sei(); /* Global Enable Interrupt Flag setzen */
while(1)
{
if (result > -600) {
DDRD |= (1<<PD6); /*Ausgang*/
PORTD |= (1<<PD6);/*Pull up an*/
PIND |= (1<<PD6); /*High*/
}
else{
DDRD &= ~(1<<PD6); /*Ausgang*/
PORTD &= ~(1<<PD6);/*Pull up an*/
PIND &= ~(1<<PD6); /*High*/
}
}
}