Forum: Mikrocontroller und Digitale Elektronik UART mit Atmega8 (Peter Fleury Library)


von Walter P. (walter_pf)


Angehängte Dateien:

Lesenswert?

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.

von MivoGu (Gast)


Lesenswert?

Versuch' mal, <#define F_CPU 8000000> durch <#define F_CPU 8000000UL> zu 
ersetzen

von Blödmann (Gast)


Lesenswert?

Hey, Mods: Ihr habt vergessen den ersten Beitrag zu löschen. :-)

PS. Ach! Und diesen auf keinen Fall vergessen, bitte. Danke.

von Vielleicht (Gast)


Lesenswert?

Vielleicht fehlt auch einfach etwas Hardware, wie der
Pegel-Umsetzer von 0V/5V auf +12V/-12V ???

von Walter (Gast)


Lesenswert?

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?

von holger (Gast)


Lesenswert?

>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?

von Rainer V. (rudi994)


Lesenswert?

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?

von Holger L. (max5v)


Lesenswert?

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

von Martin K. (dschadu)


Lesenswert?

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
Noch kein Account? Hier anmelden.