PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kurzeinstieg leicht gemacht: AVR programmieren mit C/C++



Händler
14.05.2006, 19:18
Hallo!

Da einigen der Einstieg in die C/C++ -Programmierung nicht leicht fällt, dachte ich mir, ein kurzes Tutorial zu schreiben. Man soll erfahren, was alles an Software benötigt wird und wie man das Ganze angeht.

Zunächst benötigen wir einen Compiler, eine Entwicklungsumgebung und ein Übertragungsprogramm. Das ist meine liebste Kombination. Wir haben Glück, all die Software ist komplett gratis.


> AVR-GCC: Der Compiler ohne richtiger Entwicklungsumgebung. Benötigen wir als "Plug-In" für AVR Studio.

> AVR Studio: Die Entwicklungsumgebung, leider nur ein Assembler-Compiler dabei.

> Yaap: Meiner Meinung nach extrem zuverlässiges und schnelles Übertragungsprogramm für die .hex-Dateien, welche den Maschinencode enthalten.


Damit ihr euch nicht alles zusammensuchen müsst, habe ich euch schon alles aufgelistet:

AVR-GCC bekommt ihr hier:
http://sourceforge.net/project/showfiles.php?group_id=68108

AVR Studio hier:
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

Und Yaap hier:
http://www.myplace.nu/avr/yaap/


Folgende Dateien werden benötigt:
- WinAVR-20060421-install.exe
- aStudio4b460.exe
- aStudio412SP2b472.exe
- port95nt.exe
- yaap.zip


Wenn ihr alles habt, wird zunächst AVR-GCC, dann AVR Studio und zuletzt Yaap installiert. (Die Port-Treiber für Yaap erfordern einen Neustart)

Nun brauchen wir nur noch 2 Programme zum Arbeiten, AVR Studio und Yaap. Öffnet man AVR Studio, kann man nun als Projekttyp nicht nur Atmel AVR Assembler, sondern auch AVR-GCC wählen. Danach muss man nur noch gegebenfalls die lib's inkludieren (Project->Configuration Options / Libraries und alles nach rechts bringen).


Testprogramm:


#include <avr/io.h>

int main()
{
return 0;
}



Dann nur noch Build->Build bzw. gleich auf das entsprechende Symbol in der Leiste oben klicken und schon ist die .hex- Datei erstellt. Windows-Benutzer finden diese unter "/Eigene Dateien/default/".

Nun öffnen wir Yaap, erstellen ein neues Projekt, wählen das FLASH-Fenster (Nicht das EEPROM-Fenster), laden unser .hex- File, detektieren unser device, löschen den Flash und beschreiben ihn anschließend.

Fertig!


Voraussetzung ist natürlich eine ordentliche Verbindung von AVR zum PC. Zum Beispiel:
http://rumil.de/hardware/avrisp.html

Habe bei Yaap gar nichts umstellen müssen, hat alles einwandfrei mit dem Parallelport funktioniert. (EPP-Modus unter BIOS)



Falls dieser Thread schon mit ähnlichem Inhalt existiert, tut es mir leid und er soll gelöscht werden.
Ansonsten bitte Sticky machen, falls das geht.

MfG

SprinterSB
15.05.2006, 16:45
Was ist denn ein "klebriger Faden" (sticky thread)? ;-)

Solche Tutorials gehen in einem Forum naturgemäss schnell unter. Das liegt schlicht und ergreifend am Medium. Besser aufgehoben ist sowas eigentlich im Wiki.

Händler
16.05.2006, 00:06
Oh naja hätte ich mir denken können. War ja nicht viel Arbeit.

Ist eben für Leute, die schnell auf C/C++ umsteigen wollen und keine extrem langen Tutorials lesen wollen :P

MORRI$
02.08.2006, 19:53
@Haendler

Hast du ein Quellcode-Beispiel für einen Ultraschallsensor, am besten für den hier: Ultraschall Entfernungsmesser SRF05 . Für denn braucht man nämlich nur einen Port.

MORRI$

Reimy
18.03.2007, 14:56
@ Morri$ und Händler
Ich wäre auch daran interessiert einen Ultraschallsensor SRF05 mit C zu programmieren. Bei mir funktioniert das mit Bascom 1.11.8.3 Demo nämlich nicht.