Danke für deine schnelle Antwort! =D>
Allerdings hab ich dann das Problem, dass ich nicht weis, warum mein Programm nicht funktioniert.
Eigentlich möchte ich mit dem Programm erreichen, dass die Spannung an PortA0 (also ADC0) gemessen wird
und der µC bei einer Spannung von >1V die LED an PORTD6 einschaltet.
Im AVR Studio funktioniert das auch, aber wenn ich das ganze mit dem echten µC teste
geht die LED nur bei >2,2V und nach einem Hardware Reset an.
Bin noch Anfänger, also erschlagt mich bitte nicht wenn ich großen Mist gebaut hab.
Code:
#include <avr/io.h>
int main(void)
{
int temp=0;
DDRD = 0xff; //PORTD als Ausgang
ADCSRA |= (1<<ADEN); //ADC Ein
ADCSRA |=(1<<ADPS1); //Teilungsfaktor auf 8(1Mhz CPU-Takt), externe Referenzspannung(5V), Kanal 0
ADCSRA |=(1<<ADPS0);
ADCSRA |= (1<<ADSC); //Dummyreadout
while (ADCSRA & (1<<ADSC));
while (1) //Spannung an Kannal 0 messen und bei >1V PortD6 auf 1 setzen
{
ADCSRA |= (1<<ADSC);
while (ADCSRA & (1<<ADSC));
temp = ADCL;
if (temp > 204)
{
PORTD |= (1<<PD6);
}
else
{
PORTD &= ~(1<<PD6);
}
}
return 0;
}
MfG Tob
Lesezeichen