Ich bin Anfänger und möchte AVR C / C ++ lernen. Kann ich das mit einem Arduino machen? (Ich frage dies, weil ich bereits eine habe.)
Wenn ja, kann mir jemand sagen, mit welcher IDE ich Code in reinem C / C ++ schreiben und ihn dann auf den Atmega328P auf dem Arduino flashen kann? Oder sollte ich stattdessen einen AVR und einen Programmierer bekommen?
Ich habe im ganzen Internet gesucht und bin wirklich verwirrt von der ganzen Terminologie. Könnte mir jemand das erklären?
Kommentare
- Um den 328 zu programmieren, müssen Sie meines Erachtens atmel studio installieren, um Ihren Code zu kompilieren, und dann den Befehlszeilenbefehl avrdude verwenden, um Ihren kompilierten Code einzufügen auf das Arduino.
- @ Treesrule14, dass ' eine Möglichkeit ist, aber nicht die einzige, also ' s Es ist falsch zu sagen, dass es notwendig ist. Wenn die Arduino IDE installiert ist, ist dies auch der avr-gcc-Compiler, von dem es abhängt.
- @ Treesrule14 Ich habe das atmel Studio installiert. Ich kann einfach keine Ressourcen finden Das könnte mir helfen, ein Programm mit einem Boot auf den Chip auf dem Arduino zu flashen Lader (ohne Programmierer). Ist das überhaupt möglich?
- Ich glaube, Sie brauchen einen Programmierer. : (
- Sie benötigen ' keine IDE. Sie können mit der mit Arduino gelieferten Toolchain kompilieren und hochladen. Schauen Sie sich zum Beispiel Arduino.mk an.
Antwort
Ja, holen Sie sich stattdessen einen AVR-Programmierer.
1) Sie können flashen Ihr Arduino-Board mit avrdude / avr-gcc . Installieren Sie diese Tools, suchen Sie das Datenblatt von atmega328 (google it), verwenden Sie die Pinbelegung der Karte, um eine Verbindung zu Ihrem Programmierer (stk500v2 / ISP) und voila herzustellen!
2) Denken Sie daran, dass Sie durch „manuelles“ Flashen Ihrer Atmosphäre auf dem Arduino-Board den Bootloader entfernen, der zum Laden Ihrer Skizzen aus der ARDUINO-IDE erforderlich ist.
3) Verwenden Sie Ihre Lieblings-C / C ++ – IDE
Kommentare
- Sie sollten in der Lage sein, den Bootloader für das Arduino zu finden und erneut zu flashen. arduino.cc/en/Hacking/Bootloader?from=Tutorial.Bootloader
- Nein! Sie benötigen keinen Programmierer oder müssen den Bootloader entfernen. Der Arduino-Bootloader hat Keine Abhängigkeit von der IDE oder den Bibliotheken – Sie können es mit eigenständigen C-Programmen genauso frei verwenden wie mit Arduino-Skizzen. Auf diese Weise ist dies nicht nur billiger, sondern Sie können dasselbe Board für beide Entwicklungsstile ohne verwenden Konfigurationsänderungen.
- Der Autor wollte AVR in reinem C lernen. Er fragte nicht ' – hey Leute, wie man mit Arduino IDE spielt oder so wie man die bereits an Bord befindliche Atmosphäre wiederverwendet.
- @ChrisStrat Tonne, da Sie mit den anderen Antworten nicht einverstanden sind Senden Sie bitte eine Antwort
Antwort
Wenn Sie ein Anfänger sind, Ich schlage vor, Sie schreiben C in die Arduino IDE. Die Bibliotheken sind sehr nützlich und ich denke, dass die Arduino / Wiring / Processing-Umgebung alle Ihre Anforderungen abdeckt.
Schauen Sie sich die Lightblue Bean an ( http://punchthrough.com/bean/ ) ist ein gutes Beispiel für die Leistungsfähigkeit dieser Plattform. Sogar erfahrene Embedded-Programmierer können es verwenden, da das zugrunde liegende Register immer noch zugänglich ist.
Ich programmiere jetzt auf dem Ti MSP430, und obwohl ich die Möglichkeiten einschätzen kann, vermisse ich die Einfachheit von Arduino. Der Einstieg in Arduino ist viel einfacher.
Gehen Sie zu http://arduino.cc/en/main/software , um die Version 1.0 herunterzuladen. 6. IDE-Software, schließen Sie Ihr Arduino an, gehen Sie zu Tools-> Board, um Ihr Arduino auszuwählen, und wählen Sie den entsprechenden „tty“ -Port unter Tools-> Serial_Port aus. Dann in reinem C schreiben und herunterladen. Die IDE enthält unzählige Beispiele.
Antwort
Ein Arduino ist in C / C ++ programmiert. Es gibt ein weit verbreitetes Missverständnis, dass Arduino eine eigene Sprache hat. Unter diesem Link C ++ vs. The Arduino Language? finden Sie eine vollständige Diskussion über Arduino als C / C ++ und die von Arduino angebotenen Vereinfachungen. Außerdem können Sie den Arduino-Kerncode hier sehen.
Auf der Arduino-Website:
Kann ich das Arduino-Board in C programmieren?
Tatsächlich sind Sie es bereits; Die Arduino-Sprache ist lediglich eine Reihe von C / C ++ – Funktionen, die aus Ihrem Code aufgerufen werden können. Ihre Skizze wird geringfügig geändert (z. B. automatische Generierung von Funktionsprototypen) und dann direkt an einen C / C ++ – Compiler (avr-g ++) übergeben. Alle von avr-g ++ unterstützten Standard-C- und C ++ – Konstrukte sollten in Arduino funktionieren. Weitere Informationen finden Sie auf der Seite zu den Arduino-Erstellungsprozessen .
Arduino-Angebote Eine einfache Lernkurve für Anfänger bis hin zu Experten.Laden Sie einfach die neueste Arduino IDE herunter, installieren Sie sie und genießen Sie sie.
Kommentare
- in weiteres häufiges Missverständnis ist, dass C eine Teilmenge von C ++ ist. Die Arduino-Kernbibliothek ist in C ++ geschrieben, daher ist es ' unmöglich, in C damit zu programmieren.