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):
 
	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
}
 Beim PC4 liefert die Funktion einen Wert zwischen 0 und 255.
Das kann man dann zur Zeitsteuerung nutzen:
 
	Code:
	 
Msleep(ReadPC4()*10+200);
 Eine Verzögerung zwischen 200 und 2750 ms.
 
Gruß
ASUR0
						
					
Lesezeichen