Forum: Mikrocontroller und Digitale Elektronik _delay_ms () mit "ergebnis"


von Nikolaus J. (Firma: 88Airbrush88) (jungertnik)


Lesenswert?

Hallo Leute,

bin echt schon am Verzweifeln!
Versuche seit Tagen das Ergebnis einer ADC Wandlung in ein _delay_ms 
einzubauen und es will mir einfach nicht gelingen.
Mir fehlt echt der Plan wie aus dem Ergebnis eine Konstante wird die 
delay annimmt.

#include <avr/io.h>
#include <util/delay.h>



int main(void)
{
  uint16_t x, ergebnis;
  DDRD |= (1<<PD0) | (1<<PD2)  | (1<<PD3)  | (1<<PD4);
  // Init ADC
  ADCSRA |= (1<<ADEN);
  ADCSRA |= (1<<ADPS0)|(1<<ADPS1);
  ADMUX |= (1<<REFS0);
  ADMUX |= (1<<MUX2) |(1<<MUX0);
  ADMUX |= (1<<ADLAR);

  //Dummy READOUT
  ADCSRA |= (1<< ADSC);
  while (ADCSRA & (1<<ADSC));
  x = ADC;


    while(1)
    {
    ADCSRA |= (1<<ADSC);
  while (ADCSRA & (1<<ADSC));
  ergebnis = ADCH;

  }

}

hier der Code wie ich zu "ergebnis" komme

bin im Netz und auch mit Heimo Gaicher nicht fündig geworden...

ein paar Tipps oder Denkanstoss wären toll

lg Jungert

von Brummbär (Gast)


Lesenswert?

Dachtest Du an sowas?
1
ergebis = 5;
2
for(;ergebis>0;ergebnis--) { delay_ms(1); }
Oder was hast Du vor?

von Peter II (Gast)


Lesenswert?

Nikolaus J. schrieb:
> Mir fehlt echt der Plan wie aus dem Ergebnis eine Konstante wird die
> delay annimmt.

was willst du damit erreichen?

so etwas?
1
void my_delay( unsigend uint16_t t ) {
2
   while( t ) {
3
      _delay_ms(1);
4
      --t;
5
   }
6
};
7
8
ergebnis = ADCH;
9
my_delay( ergebnis  );
;

von JungertNik (Gast)


Lesenswert?

Mein kleiner neffe hat ein Go-Kart geschenkt bekommen in schwarz das ein 
lauflicht ala knight rider bekommen soll und die dauer soll über einen 
alten Poti einstellbar sein

von JungertNik (Gast)


Lesenswert?

Ok auf void "mydelay" bin ich noch nicht gekommen ich habe es über 
#define versucht und das klappte gar nicht....

von JungertNik (Gast)


Lesenswert?

Danke ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.