Hi ich arbeite zur Zeit mit dem STK500 einem ATMEGA32 und Programmers Notepad mit GNU GCC. Meine Frage ist nun, gibt es eine vernünftige Delay function für AVR GCC ? ich habe in der avr libc keine Delay function gefunden. schon mal im Vorraus danke für euere Hilfe
...dann hast Du die avr-libc Doku sicherlich gar nicht oder nicht richtig gelesen!
die Delay.h ist nicht in meinem header file ordner kann man die einzelnen header dateien der libc auch irgendwo getrennt voneinander herunter laden ?
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!
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 ?
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
wenn ich die besagte Zeile auskommentiere kommt die Fehlermeldung immer noch. sorry bin c neuling
muss man im Makefile angeben welche header man benutzen möchte ? ich dachte immer es reicht wenn man die headerfiles über include im quellcode einbindet.
"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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.