In Zeile 212 kennt der Compiler die Funktion noch nicht. Ein Funktionsprototyp vor der main, also irgendwo oben bei den ganzen globalen Deklarationen sollte helfenCode:void M2_drive (int p1, int p2, int p3, int p4, float n, int v, boolean dir);
In Zeile 212 kennt der Compiler die Funktion noch nicht. Ein Funktionsprototyp vor der main, also irgendwo oben bei den ganzen globalen Deklarationen sollte helfenCode:void M2_drive (int p1, int p2, int p3, int p4, float n, int v, boolean dir);
Danke,
diese Fehlermeldung ist nun weg.
Merkwürdig finde ich es trotzdem. In dem anderen Programm, in dem das ohne Funktionsprototyp funktioniert, ist der Aufruf in 66 und die Funktion in 288.
Spielt da die Größe des Programms eine Rolle?
Gruß
fredyxx
Nö.
Es kommt auf die Reihenfolge an, in der der Compiler das Programm abarbeitet (bzw. überprüft, zu dem Zeitpunkt tut er noch gar nicht mehr).
Das ist dann, aus Programmierersicht, mehr oder weniger Glückssache.
Also sowas immer schön in den Header, dann passt das auch.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Header sind die Dateien mit der Endung ".h". Dort stehen genau solche Dinge drinnen. In der Header Datei steht z.b. Drinnen
Und in der zugehörigen C-Datei was damit gemacht werden soll. Z.b.Code:void delay(void)
In der Header stehen aber auch die ganzen defines drinnen. Öffne einmal eine Header und schau nach was da alles drinnen steht.Code:Void delay(void) { Asm volatile ("nop"); }
MfG hannes
Hallo,
das ist für mich unverständlich, da ich die Arduino IDE nutze und da taucht (außer " #include <SimpleTimer.h>" ) weder in meinem Programm noch in dem Ordner, in dem mein Programm liegt, etwas mit .h auf.
Gruß
fredyxx
Es sind bestimmt mehr Header Dateien eingebunden. Es gibt Header Dateien die durch andere Headerdateien eingebunden sind. Außerdem werden Standart Header Dateien von der IDE selbstständig eingebunden. Ich kenne die Arduino IDE nicht aber beim AVR Studio kann man die eingebundenen Header Dateien sehen.
MfG Hannes
Lesezeichen