Delay functin

Gast #181967
Lesenswert?
• ▲
▼
Wenn Du ein aktuelles WinAVR bzw eine aktuelle avr-libc verwendest, dann
ist die delay.h ganz sicher im Includepath!

Einfach irgendwelche Header runterladen und nutzen dürfte, ohne die
passende Library dazu, in den meisten Fällen in die Hose gehen. Bei der
delay.h könnte es so grade noch klappen, ist aber nicht ratsam!
Gast #181968
Lesenswert?
• ▲
▼
irgendwie hab ich so meine Probleme mit der _delay_ms function aus der
delay.h hier mein code:

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

int main(void)
{
  unsigned char i;
  int j;
  int count;
  double wait;


void _delay_ms(double __ms);

  DDRC=0xff;
  PORTC=0xff;
  count=0;     //count mit 0 initialisieren
  wait=60000;

  for(j=0; j<=7; j++)
  {

    cbi(PORTC,count); //LED aktivieren
    count++; // LED Nummer inkrementieren

    _delay_ms(250);

  }




  /* Endlosschleife */
  for (;;);

  return 0;
}

der compiler meint undefined reference to _delay_ms ich habe die
delay.h eingebunden wo liegt der Fehler ?
Gast #181969
Lesenswert?
• ▲
▼
Warum hast Du die folgende Zeile innerhalb von main?

   void _delay_ms(double __ms);

Die Funktion wird doch im Header-File deklariert, dann brauchst/darfst
Du es nicht noch mal  (und dazu unvollständig) tun.

Volkmar
Gast #181972
Lesenswert?
• ▲
▼
"wenn ich die besagte Zeile auskommentiere kommt die Fehlermeldung
immer
noch."

Die Fehlermeldung. Aha. Welche?

Du musst im Makefile nur angeben, welche Sourcefiles (*.c/*.cpp)
verwendet werden - und gegebenenfalls, welche Libraries zusätzlich zu
den Standardlibraries zu linken sind.

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