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.
Gast
#3682490
Versuch' mal, <#define F_CPU 8000000> durch <#define F_CPU 8000000UL> zu ersetzen
Gast
#3682503
Hey, Mods: Ihr habt vergessen den ersten Beitrag zu löschen. :-) PS. Ach! Und diesen auf keinen Fall vergessen, bitte. Danke.
Gast
#3682831
Vielleicht fehlt auch einfach etwas Hardware, wie der Pegel-Umsetzer von 0V/5V auf +12V/-12V ???
Gast
#3682959
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?
Gast
#3683097
>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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.