Gast
#4360809
Hallo miteinander,
ich bin am verzweifeln. Ich habe mir das Tutorial für die ADC Wandlung
angesehen, und den folgenden Code geschrieben für einen Attiny85
geschrieben. Jedoch reagiert er einfach nicht wenn ich 5V an den Eingang
lege. Ich wäre für jeden Tip dankbar.
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#define OUTPUT_PIN PB1
#define INPUT_PIN PB3
void initADC(){
// Set the ADC input to PB2, left aligned result
ADMUX |= (1 << MUX0);
ADMUX |= (1 << ADLAR);
// Set the prescaler to clock/8 (125kHz) & enable ADC
ADCSRA |= (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN);
}
int readADC(){
// Start the conversion
ADCSRA |= (1 << ADSC);
// Wait for it to finish
while (ADCSRA & (1 << ADSC));
return ADCH;
}
int main(void)
{
DDRB |= (1 << OUTPUT_PIN);
initADC();
int analogInput=0;
while(1)
{
_delay_ms(10);
analogInput=readADC();
if(analogInput > 128){ PORTB |= (1<<OUTPUT_PIN); }
else{PORTB &= ~(1<<OUTPUT_PIN); }
}
}