Forum: Mikrocontroller und Digitale Elektronik TXD -RXD


von michl (Gast)


Angehängte Dateien:

Lesenswert?

hallo leute,

hab schon mal einen ähnlichen thread deswegen geöffnet..

ist es möglich durch verbinden von

uC1 uC2
RXD-TXD
TXD-RXD

eine kommunikation zwischen 2 mega8 zu erstellen?

verwende die beiden kurzen programme welche ich anhänge..


wäre sehr dankbar wenn sich jemand kurz die zeit nehmen könnte und mir 
bestätigen könnte dass auf uC2 PC0 leuchten soll (LED)


glg michl

von michl (Gast)


Angehängte Dateien:

Lesenswert?

hier das empfangen programm

von Uwe (Gast)


Lesenswert?

Hi!
Klar geht das, nur die Massen musst du noch verbinden.

MFG Uwe

von michl (Gast)


Lesenswert?

wie meinst du? hättest du evtl eine kleine skizze welche du mir anhängen 
würdest?

vielen dank für deine antwort!

von Uwe (Gast)


Lesenswert?

uC1 uC2
RXD-TXD
TXD-RXD
GND-GND

von michl (Gast)


Lesenswert?

led bleibt dunkel :(

was kann das sein? senden und empfangen funzt richtig?

von Uwe (Gast)


Lesenswert?

Hi!
Laden UBRR im Format H->L, Du lädst L->H

MFG Uwe

von michl (Gast)


Lesenswert?

g,
danke für deine geduld, aber ich steh grad total neben der leitung..

kannst mir bitte die stelle rauskopieren?

lg und nochmals danke ;)

von Uwe (Gast)


Lesenswert?

Hi!
 ; Baudrate einstellen
        ldi temp, HIGH(UBRRVAL)
        out UBRRH, temp
        ldi temp, LOW(UBRRVAL)
        out UBRRL, temp

MFG,Uwe

von michl (Gast)


Lesenswert?

ja, so is ja auch standard mäßig konfiguriert oder?
verstehe nur leider nicht was du meinst, dass ich ändern sollte

spielt die reihenfolge (zuerst high dann low eine rolle?)

glg und danke

von Uwe (Gast)


Lesenswert?

Hi!
Oh ja, die Reihenfolge ist sehr wichtig.
Beim lesen solcher Register auch, nur dann andersrum, also L->H

MFG Uwe

von michl (Gast)


Lesenswert?

leider bringt das auch nichts!

habe gehört man muss irgend eine start bedingung angeben oder sowas? ist 
da was dran?

bitte nimmt sich jemand kurz die zeit sich den code anzuschaun?
es wäre sehr dringend


liebe grüße

von Karl heinz B. (kbucheg)


Lesenswert?

Zunächst mal musst du identifizieren
auf welcher Seite das Problem liegt: am Sender
oder am Empfänger.

Dazu bedienst du dich eines dritten Gerätes,
dessen RS232 nachweislich funktioniert. Dein
PC würde sich dafür anbieten. Also
verbinde mal den µC mit dem PC über die Serielle
Schnittstelle, starte Hyperterminal (oder HTerm oder
was auch immer du an Terminalprogrammen hast),
konfiguriere das Terminalprogramm auf die richtige
Baudrate und sieh nach ab dein sendender µC auf
dem Hyperterminal Zeichen darstellen kannst.

Danach verbindest du den empfangenden µC mit
dem PC, startest wieder HyperTerminal, konfigurierst
es und tippst auf der Tastatur (sodass HyperTerminal
genau diese Zeichen über die Serielle wegschickt) die
Zeichen die notwendig sind um am EmpfangsµC eine
Aktion auszulösen.

Wenn eine oder beide Verbindungen zum PC nicht klappen,
dann wirds wohl auch nicht klappen wenn du die µC direkt
zusammenhängst. Nur: jetzt weist du obs am Sender oder
am Empfänger (oder an beiden) liegt und kannst entsprechend
mit der Fehlersuche beginnen.

Solange beide Verbindungen zum PC nicht funktionieren, hat
es überhaupt keinen Sinn eine Direktverbindung zu versuchen.
Das ist wie stochern im Nebel.

von Sonic (Gast)


Lesenswert?

Das UBBRH - Register brauchst du erst wenn du mit einem 16MHz-Quarz 
Baudraten < 3937 baud benutzen willst. UBBRH brauchste nicht zu füttern!

von Uwe (Gast)


Lesenswert?

Hi!
@Sonic
Vorsicht, das habe ich auch immer gedacht. Bei neueren Typen, frage 
jetzt bitte nicht bei welchen das war, ist mir aufgefallen das dann 
manchmal die Baudrate nicht stimmte. Bei genauerem Hinsehen fiel mir auf 
das ich vorher den ADC gelesen hatte(schreibt internes Temp).
@michl
Kannst du TX testen? Oszi wäre das beste, ansonsten dein DMM auf 
Wechselspannung stellen und $55 oder $AA dauernd ausgeben. Das DMM 
sollte dann ca.2,5 Volt anzeigen. Wenn OK ist Senden io und der Fehler 
ist bei RX zu suchen.

Viel Erfolg, Uwe

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.