PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benötige Hilfe beim Einstig AVR über USBProg



HannoHupmann
03.08.2008, 14:21
Hallo,

leider bin ich auf dem Gebiet der AVR Chips noch ein völliger Laie. Aber ich würde gerne einsteigen, daher brauch ich nun eure Hilfe, da ich im Internet zwar viel finde, aber keine Antwort auf meine Fragen:

Ich hab hier:
- ein USBProg von Embeddet Systems
- einen ATmega32 oder ATiny 13
- und einen Laptop
- und ich kann C oder Phyton

Was ich jetzt also wissen will ist. Wie bekomm ich ein C Programm von meinem Laptop über den USBProg auf den µController und wo schreib ich meinen C Code am besten rein (Entwicklungsumgebung)?

Soweit ich es jetzt überblicken kann, braucht man dafür einige Programme aber bei der ganzen vielfalt blick ich nimmer durch. Bitte helft mir

viele Grüße
Hanno

fhs
03.08.2008, 14:27
Hallo Hanno,

Deinen Programmieradapter kenne ich nicht, habe aber mal gehört, dass USBProg mit einem Programmierprogramm mit dem Namen "Flashtool" zusammenarbeitet: http://www.openocd.de/index.php?page_id=147

Zu Deiner Frage nach der Entwicklungsumgebung: unter Windows AVRStudio mit avr-gcc. Unter Linux: da können Dir andere hier eine bessere Antwort geben.

Gruß

Fred

PS: avr-gcc = WINAVR (arbeitet mit AVRStudio zusammen) gibt es hier (http://winavr.sourceforge.net/).

zerush
03.08.2008, 14:35
Hi Hanno,

also am einfachsten geht das mit dem AVRStudio. Da brauchst du dich auch nicht um makefiles kümmern. Wenn du auf dem Gebiet aber mehr Erfahrung hast (was ich jetzt auch mal vermute), dann kann man auch gut mit eclipse arbeiten. Ich finde das wesentlich komfortabler!

In beiden Fällen benötigst du aber noch den Compiler. Das ist WinAVR.

Um das kompilierte File dann auf den Controller zu bekommen, gibt es sehr viele Programme. Da weiß ich jetzt nicht, welches deinen Programmer unterstützt...
Das AVRStudio hat eine solche Funktion integriert. Ich und wohl auch sehr viele andere benutzen avrdude. Das ist schön schnell und unterstützt viele Programmer (z.b. auch die selbstgebastelten USBasp).

Ich hoffe ich konnte dir für den AVR Einstieg ein wenig weiterhelfen...

mfg
Thomas

EDIT: Ist das (http://www.embedded-projects.net/index.php?page_id=148) dein Programmer?

HannoHupmann
03.08.2008, 15:51
@fhs danke
@zerush auch danke

das AVR Studio hab ich jetzt dazu bringen können nen C code von mir zu schlucken. Der USBProgrammer lässt sich damit auch nutzen. Ich muss mal noch rausfinden wie ich damit den Code auf den Chip schiebe, aber dazu wäre Hardware ganz praktisch (hab ich wohl auch bald).

@Zerush genau der ist es.

Jetzt muss ich mir nur noch ein Tutorial suchen um die C Syntax für AVR zu lernen (C programmieren ist schon wieder ne weile her bei mir, muss mich da wohl wieder einarbeiten). Am besten versuch ich mich mal an der Blinkenden LED :-)

sternst
03.08.2008, 16:01
Jetzt muss ich mir nur noch ein Tutorial suchen um die C Syntax für AVR zu lernen

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

zerush
03.08.2008, 16:10
Also wie du den Code mit dem AVRStudio auf den chip bekommst steht auch auf der Seite die ich eben verlinkt habe. Wichtig ist, dass du den USB Treiber bei der Installation vom AVRStudio mit angeklickt hast.

Zum C lernen kann ich mich meinem Vorredner anschließen. Außerdem ist es immer von Vorteil das Datenblatt des jeweiligen Controllers zur Hand zu haben. Dort hat man immer die nötigen Register erklärt. (Wobei das im AVRStudio ja auch ganz gut gelöst ist in der Ansicht)

HannoHupmann
05.08.2008, 20:25
Platine gelötet und das C Programm aus der RN-Wissen für die blinkende LED aufgespielt, aber es tut sich (natürlich) nichts.

Leider hab ich jetzt wieder mal das Problem, dass ich nicht sicher bin ob es an der Platine oder an meiner Schnittstelle Programm zu Chip (mega32) oder gar am Code selber liegt.

Gibt es den ein simpleres LED blinken Programm als dieses hier? https://www.roboternetz.de/wissen/index.php/Hallo_Welt_f%C3%BCr_AVR_%28LED_blinken%29
Das schaut mir doch etwas zu komplex aus.

Ansonsten möchte ich noch fragen ob es eine Sammlung an Bibliotheken für unsere Standartschaltungen gibt, also zum Bleistift für:
- Sharp Sensor
- US Sensor über I2C
- Batteriespannungsüberwachung
- Ansteuern eines L298

ich mein das muss man doch (hoffentlich) nicht jedesmal neu selbst schreiben.

ich bin im Moment für jede Hilfe dankbar, da ich einfach keine Ahnung vom Umgang mit dem AVR habe.
Leider erschliesst sich mir das GCC Tutorial auf der www.microcontroller.de Seite nicht so ganz.

ex535
05.08.2008, 21:08
Hi HannoHupmann
es müsste Port B1 (2.Pin am PORT) mit Widerstand 470Ohm an LED blinken.
Wichtig ist auch #define F_CPU 8000000 bei 8Mhz
Musste du halt auf dein Board gucken.

Beispiel aus Pogramm

#define PAD_LED 1
#define PORT_LED PORTB
#define DDR_LED DDRB

// Der MCU-Takt. Wird gebraucht, um Timer1 mit den richtigen
// Werten zu initialisieren. Voreinstellung ist 1MHz.
// (Werkseinstellung für AVRs mit internem Oszillator).
// Das Define wird nur gemacht, wenn F_CPU noch nicht definiert wurde.
// F_CPU kann man so auch per Kommandozeile definieren, z.B. für 8MHz:
// avr-gcc ... -DF_CPU=8000000
//
// ! Der Wert von F_CPU hat rein informativen Character für
// ! die korrekte Codeerzeugung im Programm!
// ! Um die Taktrate zu ändern müssen die Fuses des Controllers
// ! und/oder Quarz/Resonator/RC-Glied/Oszillator
// ! angepasst werden!
#ifndef F_CPU
#define F_CPU 8000000
#endif

Probiere Anhang Blinker.hex

HannoHupmann
07.08.2008, 10:11
@ex535 hab hinbekommen mein AVR Board blinkt jetzt. Es lag an einem defekten USB Kabel, da muss man erst mal drauf kommen.

Ansonsten bin ich jetzt auf der Suche nach oben erwähnten Bibliotheken. Wenn jemand nen guten Link kennt bitte posten ansonsten schau ich mich selbst mal um.