Ich habe ein Ethernetmodul in Betrieb genommen und dazu ein Beispiel aus
dem Paket EtherCard-master verwendet. Verwendet wird die IDE 1.7.4.
Das tut schon fast, was ich brauche, die Funktion soll aber nicht Inhalt
der Frage sein!
1
// Demonstrates usage of the new udpServer feature.
2
// You can register the same function to multiple ports,
Schreibe ich das hinter mein include in Zeile 21, ist alles gut!
Was passiert da, sieht mir irgendwie so aus, als ob da Variablentypen
durcheinander kommen / inkompatibel sind?
Im Anhang beide .ino, im Ordner 'geht nicht' bzw. 'geht'!
Zugegeben ich hab von der Arduino IDE nicht die geringste Ahnung, aber
woher kennt der Compiler in Zeile 17 den Datentyp String?
In Zeile 21 könnte er den indirekt über EtherCard.h kennen.
Nur mal so als Idee...
Manfred schrieb:> 06.04.2019 - erste Version mit Uno auf Testpappe
Du meinst:
// 06.04.2019 - erste Version mit Uno auf Testpappe
Dann kompiliert es bei mir.
Bin kein Profi für C aber was kann es für Gründe geben, eine Variable
vor dem include<XXX.h> definieren zu wollen?
.h(eader) Dateien kommen immer zuerst damit der Compiler die
Programmstruktur kennt und darauf aufbauend, Funktionen und Variablen
mit Werten füllt.
Dirk B. schrieb:> Was ist mit Zeile 15?
Das ist eine Kommentarzeile und wird ignoriert.
Arduino Fanboy D. schrieb:> Du meinst:> // 06.04.2019 - erste Version mit Uno auf Testpappe> Dann kompiliert es bei mir.
In "geht" und "geht_nicht" ist der Eintrag im Zeile 15
// 06.04.2019 - erste Version mit Uno auf Testpappe
identisch. Der Unterschied sind nur Zeilen 17 und 21, der String vor
oder nach dem include.
Wenn ich bei "geht_nicht" den Kommentar Zeile 15 entferne, bleibt es
beim Abbruch.
Stefanus F. schrieb:> Erst kommen die includes, dann alles Andere. Denn Denn in den> inkludierten Dateien sind die Typen der Objekte (z.b. String) definiert.
Ich verstehe nicht, was Du mir sagen willst, Datentypen wie String, int,
etc. kennt Arduino doch von Haus aus, ohne jegliche includes.
Ich habe hier diverse Programme, wo ich 'String Version' als allerersten
Eintrag habe, vor meinen includes, die meckern nicht.
Manfred schrieb:> Ich verstehe nicht, was Du mir sagen willst, Datentypen wie String, int,> etc. kennt Arduino doch von Haus aus, ohne jegliche includes.
Vom Arduino Builder wird (heimlich) Arduino.h eingebunden.
Über diese steht dann auch schon ganz zu Anfang die String Klasse zur
Verfügung.