Hi,
ich habe jahrelang mit dem Studio gearbeitet und einen haufen c Dateien
mit denen ich arbeite. Nun wollte ich mal dem Arduino eine Runde drehen.
Wie binde ich da eine c Datei ein. Ich habe 2 Dateien (timer.h und
timer.c) mit der Funktion "Sketch/Datei Hinzufügen" hinzugefügt und den
Header mit include im "hauptreiter" da wo die Setup und die Loop ist
bekannt gegeben. in der h sind natürlich funktionsprototypen.
Es hagelt dennoch Beschwerden über nicht referenzierte Funktionen in
Setup und main.
Ich werde nicht schlau aus dem Konzept arduino - Rrrrr
Danke Gruß
DS
...läuft, danke das war es... man man, wat ne Geburt.
Toller Tip, danke!
Zwei kurze Fragen noch:
ich bin etwas verwundert, zeit Management zählt doch zu den
grundsätzlichsten aller Funktionen, gibt es wirklich keinen Standard
Timer beim Arduino, alles andere ist doch auch in "Geschenkpapier"
verpackt, nur timer nicht? Da muss man dann wieder auf den Registern
rumrattern oder irgendeine lib hinzufügen?
Kein cli() und sei() sondern nun noInterrupts() und interrupts()? echt?
Gruß
DS
DS schrieb:> Kein cli() und sei() sondern nun noInterrupts() und interrupts()? echt?
Unsinn...
DS schrieb:> gibt es wirklich keinen Standard> Timer beim Arduino,
millis(), delay() und ihre Verwandten
DS schrieb:> ...läuft, danke das war es... man man, wat ne Geburt.
Ist aber völlig normal wenn man in C++ Libraries einbinden will, die in
C geschrieben sind ;)
>>millis(), delay()
wer damit arbeitet der frisst auch Kinder :-)
>>völlig normal
ich musste erstmal begreifen das dort mit C++ auf den uc geschossen
wird...
Dennoch ist mir noch nicht ganz klar wie diese Umgebung funktioniert,
ein include muss man schon noch machen, aber wenn ich eine c-Datei
hinzufüge über die o.g. Funktion dann ist sie als Reiter dort - gehört
die dann zum Projekt oder ist der Sketch das Projekt? Ist halt
ungewohnt...vor allem kann man die Reiter nicht entfernen ohne die Datei
zu löschen !? seltsam.
Dann gibt es unter den Beispielen ein fade mit einer Funktion
analogWrite() - hat der atmel mittlerweile einen DA wandler - wo sieht
man denn was dort getrieben wird, das wäre mal interessant - genau wie
das eigentliche Main in dem Setup und Loop aufgerufen werden - wo ist
das denn wohl? :-)
Viele Grüße und dank bis hierher.
DS
DS schrieb:> Dennoch ist mir noch nicht ganz klar wie diese Umgebung funktioniert,> ein include muss man schon noch machen, aber wenn ich eine c-Datei> hinzufüge über die o.g. Funktion dann ist sie als Reiter dort - gehört> die dann zum Projekt oder ist der Sketch das Projekt? Ist halt> ungewohnt...vor allem kann man die Reiter nicht entfernen ohne die Datei> zu löschen !? seltsam.
Alles in dem Ordner gehört zum "Projekt".
"Projekt" in Anführungsstrichen, weil es in der IDE nichts gibt, was
Projekt genannt wird.
Wenn du deine *.h und *.c Dateien häufiger einsetzen möchtest, dann mach
eine Lib draus.
In Librarys sind *.h *.c *.cpp und *.S verwendbar, bzw. werden
kompiliert.
Ist alles kein Hexenwerk.
https://www.arduino.cc/en/Hacking/LibraryTutorialhttps://www.arduino.cc/en/Reference/APIStyleGuide
Hi,
danke, guter Link, sehr schön. Ich komme wohl schon klar... :-)
>>Manchmal hilft es, wenn man sich einliest :-)
Jap, hatte gedacht das es noch intuitiver ist ... unterschätzt...
Ich habe gerade in einem Forum GELESEN das man die Reiter nicht wieder
entfernen kann...!?
DS
DS schrieb:> Ich habe gerade in einem Forum GELESEN das man die Reiter nicht wieder> entfernen kann...!?
Falsch...
Bei alten Arduino Versionen kann das Ärger machen.. z.B. bei
Sonderzeichen im Dateinamen.
Aber alle male kann man die IDE zu machen und die Datei im Ordner
löschen.
Bein nächsten öffnen ist der Reiter/Tab weg.
Genauso kann man einfach Dateien in den Ordner werfen.
Für jede *.h *.c *.cpp *.ino zeigt die IDE einen Reiter/Tab.
DS schrieb:> Ich habe gerade in einem Forum GELESEN das man die Reiter nicht wieder> entfernen kann...!?
Nicht nur in Foren kann man Lesen - es gibt auch Bücher, ein Arduino
home (in englischer Sprache) etc.