Hallo,
hab gerade lauflichter programmiert. jetzt möcht ich die Geschwindigkeit meines lauflichts über ein Poti (ADC-Eingang) steuern.
kann mir jemand bei meinem code weiterhelfen
Code:
#include <avr/io.h>
#include <delay.h>

uint16_t auswertung (void);
volatile uint16_t wert=0;

zeit (void)
int n;


int main (void)
{
  uint16_t =0,ergebnis=0;
  n = 0;

  //Ports initialisieren
  DDRD  = 0xFF; //Port C als Ausgang für die LED's
  PORTD = 0XFF; //Pull Up's aktiviert
  

  while(1)
  {
    zeit = n;
    ergebnis = auswertung();

    PORTD = (0b00000001);
	_delay_ms(n); 	 
    PORTD = (0b00000010);  
	_delay_ms(n); 
    PORTD = (0b00000100);
	_delay_ms(n); 	 
    PORTD = (0b00001000);  
	_delay_ms(n); 
    PORTD = (0b00010000);  
	_delay_ms(n); 
    PORTD = (0b00100000);
	_delay_ms(n); 	 
    PORTD = (0b01000000);  
	_delay_ms(n); 
    PORTD = (0b10000000);
	_delay_ms(n); 	 
    PORTD = (0b01000000);  
	_delay_ms(n); 
    PORTD = (0b00100000);
	_delay_ms(n); 	 
    PORTD = (0b00010000);  
	_delay_ms(n); 
    PORTD = (0b00001000);
	_delay_ms(n); 	 
    PORTD = (0b00000100);  
	_delay_ms(n); 
    PORTD = (0b00000010);
	_delay_ms(n); 
  
}



uint16_t auswertung (void)
{


//Initialisieren
ADCSRA = ((1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0));
ADMUX = ((1<<MUX3));//interner Vref wird benutzt 2,5V; ohne REFS1 und REFS2 wird angelegter Vref bentzt max 5V; MUX3 ist ADC0

//Dummy Auslesung als Warm-Up wie im Tutorial
ADCSRA |= (1<<ADSC);
while (ADCSRA & (1<<ADSC));

//Messung
ADCSRA |= (1<<ADSC);
while (ADCSRA & (1<<ADSC));

wert = ADCL; //ERR
wert += (ADCH<<8); //Alternativ 'wert = ADCW;'

ADCSRA &= ~(1<<ADEN); //ADC Disable

return wert;

}

zeit  (void)//auslesen von adc und damit geschwindigkeit der leds festlegen
{

	{if ( (ergebnis <= 256) & (ergebnis > 0) )
	{n=10;}
	if ( (ergebnis <= 512) & (ergebnis > 256) )
	{n=100;}
	if ( (ergebnis <= 768) & (ergebnis > 512) )
	{n=500;}
	if ( (ergebnis <= 1024) & (ergebnis > 768) )
	{n=1000;}
	else {n=0;}}
	return n;
}