Hallo Leute, gibt es eine Möglichkeit ein Arduino/Raspi Projekt mit dem AVR Studio zu compilieren ? Ich habe weder ein Arduiono noch einen Raspi. Programmieren läßt sich der Tiny ja auch anders. http://raspberry.tips/wp-content/uploads/2014/11/Send_DS18B20.ino http://raspberry.tips/wp-content/uploads/2014/11/Receiver_PI.ino Ideen ob das geht ? Danke
Kannst auch einen Cross-Compiler auf dem PC bauen, die Libraries einsammeln etc. Aber es wird einfacher sein, einen echten RasPi zu nehmen um RasPi Programme zu bauen. Der RasPi ist von der Programmierung her im Grunde ein ganz gewöhnlicher Linux-PC. Wer die Kommandozeile nicht mag: Bildschirm/Tastatur/Maus kann lokal angeschlossen werden, oder der PC übernimmt das per X-Server (Linux oder Windows+Cygwin)
:
Bearbeitet durch User
es wird ja kein Paspi Programm. Es wird ein Programm für einen Tiny84. Funkthermometer ( DS18xx und RFM12) und einen Funkempfänger mit Tiny84. Ich habe WinAVR mit den 3 Libs gefüttert und versucht zu kompilieren. Das kompilieren mit WinAVR scheitert z.B. hieran: // Need an instance of the Radio Module RFM12B radio; // Setup a oneWire instance to communicate with any OneWire devices // (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); Das Projekt ist von hier: https://raspberry.tips/hausautomatisierung/raspberry-pi-funksensoren-und-empfaenger-selber-bauen-teil-1-projekt-info/
:
Bearbeitet durch User
Ach so, du willst dieses für einen RasPi vorgesehene Projekt ohne den
RasPi verwenden.
> Das kompilieren mit WinAVR scheitert z.B. hieran:
Da fehlt offenbar Quellcode, oder er ist nicht ins Projekt einbezogen.
:
Bearbeitet durch User
wie ich das sehe wird der Raspi nur als IDE und Programmer verwendet. Das muss doch auch ohne gehen..... hoffe ich. Nur deswegen eine Raspi zu besorgen.....
Ohne die IDE musst du all den Code / Module, die wie dokumentiert per wget und git clone beschafft wurden, von Hand managen :-) Und wenn man da all das Zeug liest, dass per wget und git clone und per "Sketch" laden beschafft werden muss, dann wird einem ganz schummrig. Als erstes kannst du dich also schlau machen, wie man Ardiuno-Zeugs ohne die IDE compiliert bekommt... Dafür ist ein Ardiuno-affines Forum wohl besser als Hilfe geeignet als hier...
:
Bearbeitet durch User
Johann L. schrieb: > Ohne die IDE musst du all den Code / Module, die wie dokumentiert per > wget und git clone beschafft wurden, von Hand managen :-) sowas in der Art vermute ich. Nur arbeite ich an einem Windows PC und meist mit einem Macro Assembler. Da benutze ich keine Libs. SORRY !!! Ich habe hier Atmel Studio 6 installiert. Die Libs ( Jeelib-master, Arduino-Temperatur, RFM12B-master und OneWire) in das Projekt eingebunden und will es kompilieren. Dann hagelt es Fehlermeldungen ohne Ende. Screenshot anbei
Stephan H. schrieb: > und will es kompilieren. > Dann hagelt es Fehlermeldungen ohne Ende. Einfach von oben nach unten abarbeiten. Zum Beispiel im Bild sieht man daß entweder die OneWire.h nicht existiert oder daß das Verzeichnis in dem sie sich befindet nicht in die include-Pfade aufgenommen wurde. --> obigen Mangel beheben --> weiter zur nächsten Fehlermeldung --> wiederholen bis fertig.
die Pfade stimmen. Das Problem ist ein anderes. in z.B. der FRM12 Lib werden andere Libs aufgerufen. Screenshot. Woher kommen die denn ? Wo finde ich die ? Wer denkt sich so einen kranken SCH*** aus ??? Include im Include im Include.....
:
Bearbeitet durch User
Stephan H. schrieb: > die Pfade stimmen. Das Problem ist ein anderes. Nein. "No such file or directory" ist eindeutig. Übrigens: Eine *.h-Datei ist keine Library. Nenn' sowas nicht "lib".
:
Bearbeitet durch User
gut dann andres gefragt .... was muss ich tun um das hin zu bekommen. Wie ist die Endung einer Lib ? Die CPP Dateien hatte ich auch schon drin. der Pfad stimmt ! Entschuldigung, C ist nicht meine Sprache. ANL, ORL, XRL, RRA, etc. verstehe ich. Für wiederkehrende Routinen nutze ich Makros keine Libs. Aber er will ja *.h einbinden. Ähnlich meiner Makros. Die *.h enthalten aber offensichtlich andere *.h die er nicht findet. Vermute ich. Im Screenshot kann man ja den Pfad sehen. Die *.h ist auch da. Nur steht da drin wieder include *.h.....nur woher ?
:
Bearbeitet durch User
Stephan H. schrieb: > was muss ich tun um das hin zu bekommen. Klick Dich durch die Projekteinstellungen, irgendwo da muss es da eine Abteilung für die Include-Pfade geben. Dort ist irgendwo eine Liste von Suchpfaden zu pflegen unter denen der Compiler nach Headerdateien (*.h) suchen wird sobald er auf ein #include trifft. Jeder Ordner in dem sich solche *.h Dateien befinden muss zu dieser Liste hinzugefügt werden. In der Konsolenausgabe (das was beim Build in schneller Folge durchscrollt) wirst Du dann sehen wie dem Compiler beim Aufruf all diese Pfade mittels je einer -I pfad/zum/ordner/ Option mitgeteilt werden. Nur dadurch kann der Compiler wissen wo er überall suchen muss wenn er auf ein #include <irgendwas.h> trifft und nun verzweifelt nach der Datei "irgendwas.h" suchen muss.
Stephan H. schrieb: > Wer denkt sich so einen kranken SCH*** aus ??? > Include im Include im Include.... Nun, das war schon immer so, auch in anderen Sprachen ist es durchaus üblich dass Software in handliche Module aufgeteilt wird und jedes Modul auf bereits vorhandenen Funktionen in anderen Modulen aufbaut und diese anderen wiederum ebenfalls auf bereits vorhandenem in wieder anderen Modulen, und so weiter, und so fort. Das nennt man Modularität und Wiederverwendbarkeit. Gäbe es das nicht müsste man es schleunigst erfinden, denn es spart massiv Arbeit.
Nur mit Include-Pfaden wird es nicht getan sein; die Arduino-IDE setzt wohl auch Defines wie ARDUINO, und außerdem bringt Ardiuno selbst auch noch Header mit :-) Warum tust du dir das mit Atmel-Studio an, anstatt für ein Ardiuno-Projekt Arduino herzunehmen?
Johann L. schrieb: > Warum tust du dir das mit Atmel-Studio an, anstatt für ein > Ardiuno-Projekt Arduino herzunehmen? Das würde mich auch interessieren. Er hat jetzt doch bestimmt schon viel mehr Zeit damit verschwendet, als es gekostet hätte, die Arduino-IDE zu installieren und es damit zu übersetzen.
Stephan H. schrieb: > Wie ist die Endung einer Lib ? Je nach Compiler *.a oder *.lib. Du hast aber gar keine Libraries. Und Dein Problem ist (unter anderem), daß Du zwar die rfm12b.h in Dein Projekt reingefrickelt hat (unter Libraries), aber da gehört es nicht hin. Die Fehlermeldung, daß die Datei nicht gefunden werden kann, entsteht beim Übersetzen einer *.c oder *.cpp-Datei (kann man auf Deinem Screenshot nicht erkennen). Dort wird die Datei via #include eingebunden, und aus Sichtweise der *.c- oder *.cpp-Datei kann die RFB12B.h nicht gefunden werden, weil sie /irgendwo anders im Dateisystem/ ist, aber nicht dort, wo die *.c oder *.cpp-Datei ist, und die #include-Anweisung auch keinen passenden relativen Pfad enthält. Damit das aufgeht, musst Du in Deinen Projekteinstellungen den Speicherort, an dem die Datei RFM12B.h liegt, in den sogenannten "include-Pfad" aufnehmen. INCLUDE, nicht Library! Nimm Dir mal einen Zettel und einen Stift, und male Dir die Verzeichnisstruktur auf Deinem PC auf - wo liegen Deine *.c/*.cpp-Dateien, wo liegen die *.h-Dateien, die Du verwenden willst und wo liegen die dazugehörigen *.c/*.cpp-Dateien, die in Deiner Projektverwaltung bislang gar nicht auftauchen. Bei Deinem Problem hilft es auch nicht, die Headerdateien (*.h) zur Projektverwaltung hinzuzufügen, den Compiler interessiert das nicht. Man sollte das zwar trotzdem machen (mit allen nicht vom Compiler selbst zur Verfügung gestellten Dateien), damit man in der Projektverwaltung die Abhängigkeiten sehen kann (nach dem Motto "mein Projekt benutzt blafusel.h") und damit, falls man an diesen Dateien Änderungen durchführt, die Projektverwaltung beim Compilieren dafür sorgt, daß alle *.c/*.cpp-Dateien, die zum Projekt gehören und die Headerdatei einbinden, neu übersetzt werden. Aber --wie schon gesagt-- Dein Problem ist ein anderes. Der Compiler weiß nicht, wo er nach der Datei zu suchen hat. Er such nur im sogenannten "include-Pfad" oder im aktuellen Verzeichnis, d.h. dort, wo die jeweilige *.c/*.cpp-Datei liegt, die gerade übersetzt wird.
:
Bearbeitet durch User
Hallo, die beiden Scripte aus den Anfang sind doch ohnehin Arduino-Sketche. Also Arduino-IDE installieren, Scripte als .ino in den Sketchordner. Dann gehört noch die RFM12B Lib (liegt bei github, Ursprung von Jeelinks), dann compilieren und flashen... Gruß aus Berlin Michael
:
Bearbeitet durch User
Michael U. schrieb: > Hallo, > > die beiden Scripte aus den Anfang sind doch ohnehin Arduino-Sketche. > Also Arduino-IDE installieren, Scripte als .ino in den Sketchordner. > Dann gehört noch die RFM12B Lib (liegt bei github, Ursprung von > Jeelinks), dann compilieren und flashen... > > Gruß aus Berlin > Michael na das klingt doch vielversprechend. Das teste ich Heute Abend sofort aus. Dieser Zusammenhang fehlte mir. Ich dachte das INO Zeugs gehört alles zum Raspi. Allen anderen auch Danke
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.