Arduino uno mit c programmieren (Beispiel "BLINK")

Gast #4071526
Lesenswert?

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

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

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

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

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

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

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
#4071588
Lesenswert?

@ 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)
#4071594
Lesenswert?

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

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

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?
#4074208
Lesenswert?

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

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.

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