Forum: Mikrocontroller und Digitale Elektronik UART Kommunikation nur wenn MySmartUSB light angeschlossen ist


von Timo (Gast)


Lesenswert?

Moin,

ich habe lange daran rumgetüftelt, dass mein Atmega8 über UART und
MAX232 mit meinem PC kommuniziert. Ich betreibe den Atmega mit einem
16Mz Quarzoszillator. Die berechnete Zahl für UBRR hat nicht
funktioniert, deshalb habe ich aus Verzweiflung einfach verschiedene
ausprobiert. Mit UBRR=9065 hat die Kommunikation dann problemlos
hingehauen. Am PC ist eine Baugrate von 9600 eingestellt (8N2).

Jetzt habe ich herausgefunden, dass wenn ich meinen MySmartUSB light von
der Schaltung trenne, dann funktioniert die Kommunikation nicht mehr.
Ich habe keine Ahnung woran das liegen kann. Habt ihr eine Idee,
vielleicht auch bzgl. der unlogischen Zahl von UBRR? oder hängt das
zusammen?

Lieben Gruß

Timo

von Amateur (Gast)


Lesenswert?

C22 an X2 ist grenzwertig.

Im Sourcecode, Zeile 28, hat sich ein Fehler eingeschlichen.

von Stefan (Gast)


Lesenswert?

Hallo,

woher kommt die Stromversorgung deiner Schaltung??
Kommt die vielleicht über deinen Programmer "MySmartUSB light" ???
denn dann ist klar warum deine Schaltung nicht mehr geht wenn du ihn 
entfernst!!!

von Timo (Gast)


Lesenswert?

Nein, ich habe eine zusätzliche Spannungsversorgung. Außerdem lasse ich 
eine LED konstant blicken, um zu sehen, dass der Atmega läuft.

von Stefan (Gast)


Lesenswert?

Hallo,

dann berechne wenigstens deinen Wert für UBRR richtig!

Für 9600 Baud (U2Xn = 0) ergibt sich mit der Formel

UBRR = (16 000 000 / ( 16 * 9600) ) - 1 ein Wert von 103 (dezimal)

Dass dein wert UBRR=9065 funktioniert hängt wahrscheinlich damit 
zusammen dass du das High-byte nicht in das Register schreibst, denn 
dann ist der Wert gleich 105 ( eine Abweichung von 1,7% ist tolerabel).

Und bedenke: du brauchst mindestens 3 Leitungen zum PC (Rx, Tx, Gnd) !!!
(Gnd könnte dir nach dem Abstecken fehlen )

von Timo (Gast)


Lesenswert?

Herzlichen Dank für die schnelle Hilfe, ich habe zwar die USART_Init aus 
dem Datenblatt abgetippt und verstehe deshalb nicht, warum das HIGH-Byte 
nicht geschrieben wird, aber du hattest Recht mit GND und den 103. Jetzt 
funktioniert alles auch ohne den MySmartUSB light.

Vielen vielen Dank für die schnelle Hilfe

Timo

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.