Gast
#2388640
Hallo, ich habe beim AT90CAN128 das Problem, dass alle ADCs gehen außer ADC0. Folgender Code zum ADCs auslesen: Initialisierung und Auslesefkt. void vadc_Init(void) { ADMUX = 0x00; ADMUX |= (1<<REFS0); // AVCC with external capacitor on AREF pin ADCSRA = 0x00; ADCSRA |= (1<<ADEN); // ADC aktivieren ADCSRA |= (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // ADC Prescaler Select Bits 128 16Mhz/128 = 125kHz } unsigned int uiadc_Read(unsigned int channel) { // ADC auswählen ADMUX |= (ADMUX & ~(0x1F)) | (channel & 0x1F); ADCSRA |= (1<<ADSC); // "single conversion" while (ADCSRA & (1<<ADSC)) // auf Konvertierung warten ; return ADC; // ADC zurückgeben } Ich habe schon im Debugmodus alle Register überprüft und die passen. Am µC-Pin liegt die zu messende Spannug auch an. Ich weiß nicht mehr weiter und bin für jede Hilfe dankbar. MfG Martin