DELAY BEI AVR

OP #848288
Lesenswert?
• ▲
▼
Warum wird mir hier die DEALY Funktion nicht ausgeführt. bzw stoppt??

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
int i;
int feld[10] = {1,2,4,8,16,32,64,128};

DDRA = 0xff;

nochmal:
{
for(i=0; i<8 ; i++)
PORTA = feld[i];

_delay_ms(200);

}
goto nochmal;
}
#848301
Lesenswert?
• ▲
▼
Ingo Laabs wrote:
> Warum wird mir hier die DEALY Funktion nicht ausgeführt. bzw stoppt??

Wie kommst Du darauf?

Hast Du ein Speicher-Oszi angeschlossen, um zu sehen, wie nach 200ms 
alle 8 Bitmuster µs-schnell durchrauschen?

Mit nem Analog-Oszi wirst Du es nicht sehen.


Peter
Persönliche Seite #848304
Lesenswert?
• ▲
▼
Die wird bestimmt ausgeführt, nur nicht zu dem von dir erwarteten 
Zeitpunkt im Programmablauf ;-)

Probiere mal

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
  int i;
  int feld[10] = {1,2,4,8,16,32,64,128};

  DDRA = 0xff;

  nochmal:
  {
    for(i=0; i<8 ; i++)
    {
      PORTA = feld[i];
      _delay_ms(200);
    }
  }
  goto nochmal;
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren