Hallo.
ich habe immer noch ein Problem mit meinem ADC er will einfach nicht
fuktionieren so verwende ich den Adc
1 | void ADC_init(void)
|
2 | {
|
3 | ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) ; // ADC aktivieren und Prescaler auf 64
|
4 | //ADMUX |= (1<<REFS0) ; //vermutung !!! // interne Referenzspannung nutzen
|
5 | }
|
6 |
|
7 | int read_ADC(char canal)
|
8 | {
|
9 | ADMUX &= 0b01100000; // Untere Bits löschen
|
10 | ADMUX+= canal; // Kanal waehlen
|
11 | ADCSRA |= (1<<ADSC); // eine Wandlung "single conversion"
|
12 | while ( ADCSRA & (1<<ADSC) ); // auf Abschluss der Konvertierung warten
|
13 | return ADC;
|
14 | }
|
so mach ich den Aufruf
1 | period = read_ADC(A_POTIEXT);
|
im Anhang das komplette Programm
Wäre nett wenn sich jemand meinem Problem annimmt !!!
Danke Gruß
Pier