Hallo,
habe eine Schaltung mit einem Atmega328P-PU. Auf dem Board ist eine Programmiermöglichkeit herausgeführt mit den Anschlüssen MOSI, GND, Reset, SCK und MISO.
Wie bzw. mit welchem Adapter muss ich das am PC anschliessen um mit Arduino ein Programm darauf zu spielen?
Schau in der Arduino Firmware nach dem Arduino as ISP in den Beispielen. Da stehen die Verbindungsanschlüsse drin. Du brauchst nur Kabel dazu. Female-Male Jumper Cable. Wenn du öfters sowas machst würde sich ein USBasp lohnen ca. 4 €aus China.
Du kannst nicht ein Arduino-Programm mit einem Flashadapter / Debugtool auf ein Atmen-Board flashen!
1. Arduino-Bords haben in der Regel einen USB-Anschluss für den PC. Damit kannst du ganz einfach, aus der Arduino-IDE ein Programm auf den Controller flashen.
Auf den Arduino-Boards läuft ein Bootloader oder ähnliches. Dieser sorgt für die Kommunikation mit dem PC und kümmert sich auch um den SW-Download. Außerdem sorgt sie dafür, das dein Programm auf dem Board überhaupt funktioniert!
2. Bei einem normalem (Atmel)-Board funktioniert die Programmierung ganz anders. Auch das Programm ist ganz anders aufgebaut. Mit dem Debug-Tool kannst du zwar ein *.hex-File auf den Atmel flashen aber kein Arduino-File.
Also so geht das nicht!
Am besten du postest hier einfach mal ein paar Daten des Boards + Fotos. Dann können sich die Experten hier mal ein Bild von der Sache machen.
Auch ein paar weitere Daten wären nicht schlecht!
Hallo,
habe eine Schaltung mit einem Atmega328P-PU. Auf dem Board ist eine Programmiermöglichkeit herausgeführt mit den Anschlüssen MOSI, GND, Reset, SCK und MISO.
Wie bzw. mit welchem Adapter muss ich das am PC anschliessen um mit Arduino ein Programm darauf zu spielen?
du musst schauen was du für ein 328 hast. und was für eine spannung dein board abkann. ist es für 5v geeigent, kannst du es zum flashen aus dem genannten USB Adapter mit spannung versorgen
Zuletzt geändert von el-dentiste; 28.01.2016, 22:16.
Abend,
und Moment.
Die Arduino IDE macht nichts anderes als aus der Arduino Syntax ein *.hex zu erzeugen. Die Arduino IDE ist nämlich im Prinzip nichts anderes als eine Sammlung von Libraries für die Programmiersprache C. Du kannst in der Arduino IDE sogar plain Atmel C schreiben.
Außerdem sorgt sie dafür, das dein Programm auf dem Board überhaupt funktioniert!
Auch nicht ganz richtig. Der Bootloader sorgt dafür, dass man über die USB-UART Schnittstelle Programme hochladen kann. Der Bootloader macht nichts anderes als nach einem Durchlauf auf das Hauptprogramm zu verweisen im Speicher. Ab da wird der Maschinencode ununterscheidbar zu einem "normalen" Programm ausgeführt.
Also zusammenfassend:
1. Man kann ein Arduino-Programm auf jeden ATmega oder sonstwas flashen solange der AVRDude den Prozessor kennt.
2. Arduino ist nur eine Art Sprachvereinfachung. Dahinter steckt das C mit dem du auch die Atmels programmierst.
3. Wohl nicht so ganz Experte oder?
Wenn ich richtig verstanden habe, hast du einen Arduino? Wenn ja passt alles.
Auf den Arduino flasht du die Arduino as ISP aus der Beispielesammlung. Dann verbindest du die Boards entsprechend. VCC halt an den normalen Stromanschluss.
Dann wirst du ein HEX oder .ino File haben. Welches?
Gruß TPK
Hast du einen Arduino (Nano) mit USB-Anschluss? Der reicht vollkommen als Programmieradapter. Du verbindest von den 6 Polen der ISP-Schnittstelle alle bis auf Reset mit den entsprechenden Kontakten am zu programmierenden Atmel. Reset musst du von Pin 10 nehmen. Die 5V, die der Programmier-Arduino über USB erhält, reichen als VCC. Dann nur noch wie vom lila Ritter gesagt, ArduinoISP aus der Beispielsammlung wählen und auf den Programier-Arduino über die IDE aufspielen. Danach kannst du über avrdude das Programm deiner Wahl auf den zu programmierenden Atmel flashen. Der Arduino-Adapter bleibt dabei transparent an der gleichen virtuellen Schnittstelle.
2. Arduino ist nur eine Art Sprachvereinfachung. Dahinter steckt das C mit dem du auch die Atmels programmierst.
Das ist keine Sprachvereinfachung, das ist ganz normales C, welches ein gcc in Atmel-Code übersetzt. Der Vorteil des Arduino ist neben dem Bootloader die dazu gelinkte Bibliothek, die für dich die Basiseinrichtung des Mikrokontrollers übernimmt. Man muss i.d.R. nur noch eine einfache C-Setup-Routine und Hauptfunktion ausfüllen. Ist also eher eine HW-Vereinfachung.
Das ist keine Sprachvereinfachung, das ist ganz normales C
So gesehen ja, was ich halt meinte mit Sprachvereinfachung ist z.B. das Schalten von Ports. Statt diesem Kryptischen DDRA=... und PortA=... und irgendwelchen 0xirgendwas Zahlen einfach pinMode(5, OUTPUT) und digitalWrite(5, HIGH) finde ich macht das für Anfänger oder Hobbybastler wesentlich sympatischer und bringt einen nicht so schnell zum Aufgeben. Programmieren ist frustrierend genug.
So gesehen ja, was ich halt meinte mit Sprachvereinfachung ist z.B. das Schalten von Ports. Statt diesem Kryptischen DDRA=... und PortA=... und irgendwelchen 0xirgendwas Zahlen einfach pinMode(5, OUTPUT) und digitalWrite(5, HIGH) finde ich macht das für Anfänger oder Hobbybastler wesentlich sympatischer und bringt einen nicht so schnell zum Aufgeben. Programmieren ist frustrierend genug.
Dafür kannst du dir doch einfach schöne Defines für die Ports/Pins etc zusammenstellen.
Ich fands viel schlimmer das ich mal versucht hab ein bestehendes Programm auf nen Arduino umzubauen um dann festzustellen das z.B. Timer0 komplett für die millis() etc gesperrt ist. Wenn mans gewohnt ist sichn Datenblatt vom Controller anzuschauen und danach zu arbeiten kann man ganz schnell an nem Arduino verzweifeln.
Ich find die Arduino nur Sinnvoll wenn man einfach nur nen paar LEDs schalten will. Sonst kann ich auch für Anfänger nicht viel damit anfangen.
Aber das muss jeder für sich selbst entscheiden. Für den TE: Der große Unterschied ist eben einfach der, dass du die standart Arduino Boards über USB bzw nen Bootloader programmierst und die ISP-Schnittstelle eigentlich nicht nutzt.
Was nutzt du denn für ein Board? Son fertiges Evaluation Board? Selbst nach nem Schaltplan gebaut?
Du kannst nicht ein Arduino-Programm mit einem Flashadapter / Debugtool auf ein Atmen-Board flashen!
2. Bei einem normalem (Atmel)-Board funktioniert die Programmierung ganz anders. Auch das Programm ist ganz anders aufgebaut. Mit dem Debug-Tool kannst du zwar ein *.hex-File auf den Atmel flashen aber kein Arduino-File.
Arduino Boards haben auch nur Atmel Chips drauf! Wenn man Arduino nicht auf Atmel-Chips laufen lassen kann, wie funktionieren dann Arduino Boards?
Dafür, dass es nicht geht, hab ich auch ganz schön viele Atmega und Attiny Chips laufen mit Arduino. Aus purer Faulheilt läuft auf meinem µC Projekten ausschliesslich Arduino, solange es sich um Atmel 8Bit CPUs handelt.
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar