Arduino c datei einbinden

Gast #5419438
Lesenswert?

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
Gast #5419528
Lesenswert?

...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
Gast #5419868
Lesenswert?

>>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
Gast #5419885
Lesenswert?

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/LibraryTutorial
https://www.arduino.cc/en/Reference/APIStyleGuide
Gast #5419890
Lesenswert?

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
Gast #5419904
Lesenswert?

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.

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