www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TXD -RXD


Autor: michl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: michl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier das empfangen programm

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Klar geht das, nur die Massen musst du noch verbinden.

MFG Uwe

Autor: michl (Gast)
Datum:

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

vielen dank für deine antwort!

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
uC1 uC2
RXD-TXD
TXD-RXD
GND-GND

Autor: michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
led bleibt dunkel :(

was kann das sein? senden und empfangen funzt richtig?

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Laden UBRR im Format H->L, Du lädst L->H

MFG Uwe

Autor: michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Uwe (Gast)
Datum:

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

MFG,Uwe

Autor: michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe (Gast)
Datum:

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

MFG Uwe

Autor: michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sonic (Gast)
Datum:

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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.