hallo,
ich möchte einen bei einem Mega8535 den ADC auslesen,
ich komme aber gerade garnicht klar, programmier mit winavr,
diese Code Beispiele habe ich gefunden:
uint16_t readdata(){//reads adc
uint16_t data;
ADMUX = _BV(REFS0)|_BV(ADLAR);//|_BV(MUX2)|_BV(MUX1)|_BV(MUX0); //
channel
ADCSRA = _BV(ADEN)|_BV(ADSC)|_BV(ADATE)|_BV(ADIF)|_BV(ADPS2)|_BV(ADPS1);
while(bit_is_clear(ADCSRA, ADIF));
data = ADC;
ADCSRA = 0;
return data;
}
und
// ADC Clock: 250.000kHz
// ADC Voltage Reference: AVCC
// ADC Noise Canceler Disabled
SFIOR |= 0x0;
ADMUX = 0x40;
ADCSRA = 0x86;
ACSR = 0x80;
mölchte den 1. ADC an Port an PA0 auslesen,
aber der macht es einfach nicht, kann mir jemand helfen ?
bin seid 3 tagen am rum versuchen.
Schon mal ins AVR-GCC-Tutorial geschaut? Vermutlich nicht...
doch habe ich! habe aber gestern den fehler gefunden, es lang am eingang irgend wie ist der ADC bereich sehr klein der gerade gemessen wird, habe nur nen sehr kleinen bereich wo überhaupt gemessen wird, ka ob meine eingangs spannungs zu klein ist, oder ob ich irgend ne eintellung vom ADC falsch hab.
Gast
#1202901
Eine Ahnung, wie gross das signal ist, solltest du schon haben. Eine Vergleichsmessung mit einem Scope ist unabdingbar.
Ja da bin ich gerade dran, hab gemerkt das ich auch negative spannung haben, jetzt muss ich mir erst mal nen vollwellengleichrichter bauen, bin nur am überlgen welche dioden ich da nehmen soll, hab schon einige schaltungen gefunden, aber immer ohne bauteil werte :( keine für R und D das bissel doof...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.