Hi Philip,
du willst also den PC4 auslesen. Dazu muss man AVCC an VCC anschließen (über widerstand/Spule) und an AREF über einen Kondensator an Masse anschließen (vgl. Asuro-Schaltplan).
Der Code dazu: (aus AsuroLib, angepasst):
Beim PC4 liefert die Funktion einen Wert zwischen 0 und 255.Code:unsigned int ReadPC4() { ADMUX = (1 << REFS0) | (_BV(MUX2)); // Referenz mit externer Kapazitaet und Mux auf PC4 ADCSRA |= (1 << ADSC); // Starte AD-Wandlung while (!(ADCSRA & (1 << ADIF))) // Ende der AD-Wandlung abwarten ; ADCSRA |= (1 << ADIF); // AD-Interupt-Flag zuruecksetzen return ADC; // Ergebnis als 16-Bit-Wert }
Das kann man dann zur Zeitsteuerung nutzen:
Eine Verzögerung zwischen 200 und 2750 ms.Code:Msleep(ReadPC4()*10+200);
Gruß
ASUR0







					
					
					
						
Zitieren


Lesezeichen