Zum Beitrag von Richard:
Ok, also falls ich keinen atmega8 sonder atmega32 verwende ?
Noch eine Frage kann ich die Baudrate einfach auf zb. 9600 abändern?
Vielen Dank!
Zum Beitrag von Richard:
Ok, also falls ich keinen atmega8 sonder atmega32 verwende ?
Noch eine Frage kann ich die Baudrate einfach auf zb. 9600 abändern?
Vielen Dank!
Genau, einfach aus Samples/Chips ein Beispiel laden und die passende .def Datei wählen/Kopieren.
Die Baudrate kann einfach geändert werden wobei es bei internen RC Ozzilator allerdings schnell Timing
Probleme geben kann, besser wäre ein Quarz (Muss aber in den Fuses eingestellt werden). Im Quellcode muss natürlich auch die Tatsächlich von Dir verwendete (Hartware) Takt Frequenz stehen, sonst rechnet der Compiler falsch.
Gruß Richard
@ Richard:
Ok gut, also wenn ich baud auf zb. 9600 einstelle am besten bei dem quarztakt 16mhz eingeben ext quarz an den Atmega mit 2 Tantal 22pF und die Fuses stell ich wie ein? Einfach das fuse ext clock? ändern? Oder is das falsch?
Da unterscheiden sich die Programme leider etwas, ich mache das mit AVR Studio 4 dort dann einfach extern higth Frequenz....wählen.
Gruß Richard
Ok danke
Gruß MarC
So, Beispiel is ferdisch
Hier erst mal ein Tutorial, damit du dich im Quellcode besser zurechtfindest:
http://www.mikrocontroller.net/artic...R-GCC-Tutorial
Das ist allerdings unendlich lange und ausführlich und lässt Einsteiger in der Fülle von Informationen "ersaufen"
Desshalb hier die einzelnen Punkte die du dir durchlesen solltest:
- Ein Einführungsbeispiel mit Erklärung des Codes: http://www.mikrocontroller.net/artic...hrungsbeispiel
- Sollte warscheinlich schon klar sein: Der Programmablauf (wir nehmen den Sequentiellen Programmablauf) http://www.mikrocontroller.net/artic....B5C-Programms
- Register Allgemein (Nur bis #include <avr/io.h> lesen): http://www.mikrocontroller.net/artic...f_auf_Register
- WICHTIG! Wie schreibt man in Register: http://www.mikrocontroller.net/artic...en_in_Register
- WICHTIG! Verändern von Registern (Das hab ich konkret angewandt) http://www.mikrocontroller.net/artic...gisterinhalten
- Brauchst du in diesem Fall nicht unbedingt, aber trotzdem essentiell: Lesen aus Registern :http://www.mikrocontroller.net/artic..._aus_Registern
- WICHTIG! Die Register anhand der Ein/Ausgänge: http://www.mikrocontroller.net/artic...f_auf_IO-Ports
Im Anhang findest du eine Zip. Darin ist ein Ordner. Den kompierst du einfach 1:1 dahin wo du ihn haben willst (makefile und zusätzliche Sourcecodefiles sind schon alles mit drin und aufeinander abgestimmt)
Der Quellcode findet sich in main.c, UART.c und UART.h, alles Kommentiert. Bei Fragen fragen!
Im Makefile musst du noch auf folgendes achten:
- Zeile 08: MCU = atmega32 -> ggf. anpassen
- Zeile 11: SRC = $(TARGET).c UART.c -> Das sind die Sourcecodefiles
- Zeile 31: CDEFS = -DF_CPU=16000000 -> Hier musst du noch ggf. die Taktfrequenz anpassen
Dann mal viel Erfolg und Spaß beim Rumprobieren und Programmieren!
Gruß
-schumi-
PS: Im Anhang noch ein Bild meines Testaufbaus
Lesezeichen