Hi Ich versuche eine UART Verbindung zwischen einem Atmega8 und meinem PC herzustellen. Dazu verwende ich die UART Library von Peter Fleury. Der PC empfängt allerdings nur Schrott. Ich verwende Putty eingestellt sind 9600 BAUD.
Versuch' mal, <#define F_CPU 8000000> durch <#define F_CPU 8000000UL> zu ersetzen
Hey, Mods: Ihr habt vergessen den ersten Beitrag zu löschen. :-) PS. Ach! Und diesen auf keinen Fall vergessen, bitte. Danke.
Vielleicht fehlt auch einfach etwas Hardware, wie der Pegel-Umsetzer von 0V/5V auf +12V/-12V ???
Ich benutze einen USB TTL Wandler. Ich habe auch schon ein Beispielprogramm benutzt das nur Sendet. Ich möchte nun aber die Fleury Library benutzten. Hat jemand von euch vielleicht ein Beispielprogramm welches die Fleury Library benutzt?
>Der PC empfängt allerdings nur Schrott.
Dann stimmt in der Regel die Baudrate nicht.
Läuft dein Controller wirklich mit 8MHz oder
denkst du nur das er das tut?
MivoGu schrieb: > <#define F_CPU 8000000UL> UL am Ende ist schon gut, hat aber wohl nicht geholfen. In uart.h ist zu lesen "ATmega8 getestet mit 4 MHz". Wie wäre es damit und mit einer kleineren Baudrate für den Anfang? Walter schrieb: > USB TTL Wandler. Hat der Wandler bei anderen Gelegenheiten funktioniert? Wie sieht es mit einem UART-Testprogramm in Assembler aus?
Tausch doch bitte mal " uart_puts_P("Test\n"); " durch
uart_puts("Test\n"); aus.
uart_puts_P = Put string from program memory to ringbuffer for
transmitting via UART.
uart_puts = Put string to ringbuffer for transmitting via UART
Sicher, dass der atmega8 auf 8Mhz läuft? Kontrollier mal die Fuse-Bits. Wenn ja und es kommt immer noch Müll an: mach mal nen Loopback. Also RX und TX Kurzschließen und am PC was senden. Das selbe sollte sofort zurück kommen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.