Programmbeispiel in C für den ATmega8

Gast #2249421
Lesenswert?

Hallo,
Ich suche schon seit nach langem ein Programmbeispiel für einen Atmega8 
in C, um einmal mein neues Evaluationsboard von Pollin zu testen 
(selbstgelötet)
und um einen kleinen Einstieg in das Programmieren von Microcontroller 
zu bekommen. Eine blinkende Led z.B. würde mir als Test und Beispiel 
reichen. Bin nicht ganz unerfahren in der C Programmierung aber bekomm 
das mit den Ports under Library noch nicht so ganz hin.
Über Beispiele oder Hilfe würd ich mich sehr freuen
Johannes
Gast #2249438
Lesenswert?

Naja ich find es wird nicht erklärt was z.B. "Datenrichtungsregister" 
ist oder wie man auf "DDRB=0xff" kommt. Ich weiß, dass damit alle 
Anschlüsse des B Ports auf Ausgang gesetzt werden aber kann man sich das 
irgendwo herleiten? Also wofür steht z.B. "DDRB"?
Gast #2249446
Lesenswert?

Wie weit hast Du das Tutorial gelesen? Es wird schon erklärt, Kapitel 12 
Zugriff auf IO-Ports im Tutorial.

Ansonsten, da gibts ein PDF, sprich Datenblatt.
Bevor man loslegt: viel Lesen und genau Lesen und zu Ende Lesen

War zumindest bei mir so, als ich angefangen habe...
Gast #2249485
Lesenswert?

Hey,
ich bin im Tutorial gerade bei den Makefiles angelangt aber frage mich, 
wie kann ich das Evaluationsboard von Pollin als Programmiergerät 
einstellen? Kann ich als Software AVRDUDE benutzen?
#2249494
Lesenswert?

Johannes schrieb:
> wie kann ich das Evaluationsboard von Pollin als Programmiergerät
> einstellen?

Da stellst du nicht das pollin-Board ein, sondern den ISP-Programmer, 
den du anschließst.
Welchen nimmst du denn?

Bei einem rein seriellen Anschluß mit der Schaltung auf dem Pollin-Board 
(hat bei mir nie vernünftig funktioniert), ist das bei avrdude der 
Parameter:
1
... -c siprog  -P /dev/ttyS0 ...
unter Linux oder wahrscheinlich etwas ähnliches wie
1
... -c siprog  -P COM1 ...
unter Windows.

Es gibt auch andere, z.B. AVRISPmkII an einem USB-Port, dann wäre es 
unter Linux:
1
... -c avrispmkii -P usb ...

Andere ISP-Programmer entsprechend.


Johannes schrieb:
> Kann ich als Software AVRDUDE benutzen?

ja, sehr zu empfehlen
#2249538
Lesenswert?

> Naja ich find es wird nicht erklärt was z.B.
> "Datenrichtungsregister" ist oder wie man auf "DDRB=0xff" kommt.


Du kannst auch mal im AVR-Tutorial anfangen zu lesen. Das ist zwar für 
Assembler und nicht C, aber die Grundlagen, was was bedeutet und wozu es 
gut ist, ist auch dort beschrieben une erklärt. Manchmal ergänzen sich 
eben 2 Tutorien. Was man im einen nicht versteht, wird im anderen (mit 
anderen Worten) plötzlich klar.
#2249609
Lesenswert?

Johannes schrieb:
> Ich suche schon seit nach langem ein Programmbeispiel für einen Atmega8
> in C, um einmal mein neues Evaluationsboard von Pollin zu testen

Die Beispiele für das Funk-AVR-Evaluationboard von Pollin können auch 
für das Atmel-Evaluation-Board von Pollin verwendet werden. Lediglich 
der Taster und die LED sind an unterschiedlichen Ports angeschlossen und 
müßen gegebenenfalls im Code angepasst werden.

          Funk Eval.Board     Eval.Board
Taster 1       PB1               PD2
Taster 2       ---               PD3
Taster 3       ---               PD4
LED 1          PD6               PD5
LED 2          PD5               PD6
Summer         ---               PD7

http://www.mikrocontroller.net/articles/Pollin_Funk-AVR-Evaluationsboard
Gast #2250466
Lesenswert?

Johannes schrieb:
> Naja ich find es wird nicht erklärt was z.B. "Datenrichtungsregister"
> ist oder wie man auf "DDRB=0xff" kommt. Ich weiß, dass damit alle
> Anschlüsse des B Ports auf Ausgang gesetzt werden aber kann man sich das
> irgendwo herleiten? Also wofür steht z.B. "DDRB"?

Die Definitionen findest Du in den ioXX.h für den jeweiligen µC.
Diese findest Du im WinAVR-Verzeichnis unter avr/include/avr/.
Eigentlich nichts anderes, als ein komfortables Mapping auf die Adressen 
der Hardwareregister, die je nach Typ schon mal an andere Stelle liegen 
können.

Eine detaillierte Beschreibung findest Du in den Datenblättern des 
Herstellers
(bspw. ATmega8):
http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Also ran an das forumeigene GCC-Tutorial, die Headerdatei und das 
Datenblatt.

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