Hi Leute, habe seit kurzem meine Leidenschaft für Microcontroller entdeckt. Zum Einstieg beschäftige ich mich mit dem Arduino Uno. Jetzt will ich das Beispiel "BLINK" mit der Programmiersprache C programmieren. Ich habe mir den WinAvr als Compiler(avr-gcc) runtergeladen. Wie muss ich vorgehen damit das funktioniert? P.S: Die Tutorials helfen mir in keinster Weise. Vielen Dank
Student1 schrieb: > P.S: Die Tutorials helfen mir in keinster Weise. und ohne konkrete fragen kann hier auch keiner weiterhelfen.
Student1 schrieb: > Wie muss ich > vorgehen damit das funktioniert? Du wirst herausfinden müssen, wie der Arduino-Bootloader funktioniert. Das sollte sich aber herausfinden lassen. Dann musst du nur dein Programm compilieren lassen und auf den Controller übertragen. Man kann auch ein (vernünftiges) ISP-Adapter verwenden. Dann ist aber der Bootloader futsch.
STK500-Besitzer schrieb: > Man kann auch ein (vernünftiges) ISP-Adapter verwenden. Dann ist aber > der Bootloader futsch. wie meinst du das? Man kann doch isp und Bootloader benutzen.. das geht wie man will nur nicht gleichzeitig. Du brauchst eine IDE wie zB Eclipse oder AVRStudio, wenn du dann ein HEX File generiert bekommen hast kannst Du das mit avrdude und den richtigem AvrDude Tutorial hochladen.
Philipp K. schrieb: > wie meinst du das? Man kann doch isp und Bootloader benutzen.. das geht > wie man will nur nicht gleichzeitig. Dein Programm liegt nach einer ISP-Programmierung dort im Controller, wo vorhr der Bootloader lag.
STK500-Besitzer schrieb: >> wie meinst du das? Man kann doch isp und Bootloader benutzen.. das geht >> wie man will nur nicht gleichzeitig. > > Dein Programm liegt nach einer ISP-Programmierung dort im Controller, wo > vorhr der Bootloader lag. das muss aber so nicht sein. Man kann das Programm an andere Adressen laden.
Peter II schrieb: > das muss aber so nicht sein. Man kann das Programm an andere Adressen > laden. Das kannst du vielleicht so organiseren, ich vielleicht auch, aber der Threadstarter?
... oder Du nimmst die Arduino-IDE, was nichts anderes als C bedeutet, und programmierst Deinen Arduino damit.
Student1 schrieb: > Wie muss ich > vorgehen damit das funktioniert? Du nimmst zunächst die (wohl) vorhandene Arduino IDE, schreibst ein C-Programm oder kopierts es in die .ino-Datei, läßt es compilieren und lädst es in der µC. Fertig! Keiner zwingt Dich loop() und setup() aufzurufen.
@ google (Gast) >... oder Du nimmst die Arduino-IDE, was nichts anderes als C bedeutet, >und programmierst Deinen Arduino damit. Warum einfach, wenn es auch umständlich geht? Arduino ist normales C mit einem Hauch C++. Die Benutzeroberfläche ist ein stark abgesprecktes Atmelstudion. Für Anfänger vollkommen ausreichend.
Hi m.n., das habe ich schon gemacht und hat auch wunderbar geklappt. Die Arduino- Welt ist wirklich benutzerfreundlich. Ich möchte mich aber in dem Fall gerne mit dem gcc-compiler auseinandersetzen. Daher wende ich mich auch an euch. DAnke
Ein Arduino hat durch eine Fuse einen anderen Bootloaderbereich, das ist richtig.. Aber solange man die Fuse nicht ändert kann man ISP oder den Serial Bootloader zum hochladen nutzen.
Student1 schrieb: > Ich möchte mich aber in dem Fall > gerne mit dem gcc-compiler auseinandersetzen. Was denkst Du, was unter der Arduino-Oberfläche steckt?
Hi, wie bekomme ich den eine Hex Datei generiert? Einfach auf einen Button drücken :0? Danke
Du brauchst dann eine andere IDE wie zum Beispiel Eclipse mit AVR-Plugin um mit avr-gcc zu programmieren. Ein Arduino bleibt ein Atmel.. Ich werde immer total dumm angeschaut wenn ich nen rohen Chip mit Serial Bootloader einfach Arduino nenne.. dabei ist das nur ein Praktischer Upload.
@ Student1 (Gast) >das habe ich schon gemacht und hat auch wunderbar geklappt. Die Arduino- >Welt ist wirklich benutzerfreundlich. Dann mach erstmal ein paar Gehversuche und sei glücklich! > Ich möchte mich aber in dem Fall >gerne mit dem gcc-compiler auseinandersetzen. Daher wende ich mich auch >an euch. Arduino nutzt den avr gcc, das ist praktisch der gleiche, welcher im win avr drinsteckt (naja, vielleicht etwas neuer) Die Hexdatei wird im Projektverzeichnis abgelegt, wenn man STRG-R drückt (Prüfen/Kompilieren)
1 | #include <avr/io.h> |
2 | #include <util/delay.h> |
3 | |
4 | int main(void){ |
5 | |
6 | DDRB |= (1<<PB5); |
7 | |
8 | while(1){ |
9 | PORTB |= (1<<PB5); |
10 | _delay_ms(500); |
11 | PORTB &= ~(1<<PB5); |
12 | _delay_ms(500); |
13 | }
|
14 | |
15 | }
|
Hiermit blinkt die User-LED am arduino (nano) mit 1 Hz.
Student1 schrieb: > Hi, > > wie bekomme ich den eine Hex Datei generiert? > Einfach auf einen Button drücken :0? > > Danke Auf meine Frage hast du nicht geantwortet, aber sei's drum. Lade dir das Atmel Studio, damit hast du eine IDE die heute auch Arduino unterstützt. Wie das allerdings über USB klappt, kann ich nicht sagen, da ich das mit einen AVRMKII, über die ISP Schnittstelle mache.
Dann kann ich dir dieses Buch empfehlen: http://www.franzis.de/elektronik/simulation-computer/avr-mikrocontroller-kochbuch Da gehen sie auch auf neue Mikrocontroller (ATmega328) ein und ebenfalls auf das Atmel Studio.
Powerprojekte mit Arduino und C ISBN-10: 3645651314 Dieses Buch enhält exakt das Blinkprogramm und ist auch sonst sehr zu empfehlen.
Student1 schrieb: > Ich möchte mich aber in dem Fall > gerne mit dem gcc-compiler auseinandersetzen. Daher wende ich mich auch > an euch. wo ist das Problem? so habe ich auch angefangen, empfehle dir Atmel AVR Studio in der Version 4.18 SR3 http://www.atmel.com/System/BaseForm.aspx?target=tcm:26-41052 und winavr WinAVR-20100110 http://sourceforge.net/projects/winavr/files/WinAVR/20100110/ da kannst du gleich loslegen (ISP Prommer Mk2 (clone) vorausgesetzt.
Falk Brunner schrieb: > Die Hexdatei wird im Projektverzeichnis abgelegt, wenn man STRG-R drückt > (Prüfen/Kompilieren) Moin, kann ich nicht bestätigen; Die Arduino-IDE kompiliert den C-Text von Max ohne Fehlermeldung, ein hex-File konnte ich jedoch nicht finden. Lohnt sich das überhaupt, den Bootloader zu bewahren? Man könnte den ja ganz einfach überbügeln. Wenn ja, mit welchen Argumenten bringt man avrdude dazu, das Programm dahin zu legen, wo der Bootloader es findet?
thomas schrieb: > Moin, > > kann ich nicht bestätigen; Die Arduino-IDE kompiliert den C-Text von Max > ohne Fehlermeldung, ein hex-File konnte ich jedoch nicht finden. also ich finde meine Arduino HEX von gestern im Arduino TMP Ordner C:\Dokumente und Einstellungen\jb\Lokale Einstellungen\Temp\build1036303377199115274.tmp\digi_filter.cpp.hex einfach mal die Suche bemühen nach *.hex
Hallo jar, hast recht: user@schreibtisch:/tmp$ find -name *hex ./build6527190782700826868.tmp/blink_c.cpp.hex ./build6527190782700826868.tmp/sketch_mar31a.cpp.hex muss zugeben, so intensiv hab ich nicht gesucht, das ist allerdings nicht gerade das Projektverzeichnis:-)
Beitrag #6405256 wurde von einem Moderator gelöscht.
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.