-
        

Ergebnis 1 bis 5 von 5

Thema: UART funktioniert nur in eine Richtung...

  1. #1
    Murus
    Gast

    UART funktioniert nur in eine Richtung...

    Anzeige

    Hallo zusammen.

    Im Anhang findet ihr die Eagle-Dateien für mein Board, auf welchem ein Mega8 über die serielle Schnittstelle mit einem PC kommunizieren können soll.

    Programmiert wird in Bascom.
    Das Problem: Ich kann problemlos Daten vom AVR an den PC senden und diese in mehreren Terminalprogrammen anschauen.
    Nur: Ich kann keine Daten vom PC an den Controller senden.

    Beispielprogramm:

    $regfile="m8def.dat"
    $crystal=3686400
    $baud=2400

    Dim i as Byte

    Print "Hallo"

    Do
    If UCSRA.RXC=1 Then
    i=UDR

    Select case i
    Case "H"
    Print "Hallo"
    Case "A"
    print "Adieu"
    Case Else
    Print "Unbkannter Befehl"
    End select
    End if
    Loop
    End

    In den Terminalproggis sehe ich jeweils das "Hallo", doch wenn ich dann ein H oder ein A schicke, passiert gar nix. Es kommt nichts zurück.
    Die Terminalprogramme werden auf einem Windows98SE Laptop von 1998 laufengelassen, der hat einen COM-Port, sollte klappen.

    Darum meine Anfrage hier, ob jemand mal die Hardware prüfen könnte, ob ich alles richtig geroutet habe. Und was man sonst noch so falsch machen könnte.

    Herzlichen Gruss und Danke

    Mario
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken rs-schematic.jpg   rs-board.jpg  

  2. #2
    Murus
    Gast
    Mir ist gerade noch etwas aufgefallen.

    Ich hab ein Programm geschrieben, dass immer nur "Hallo" sendet, zum
    Testen.

    Am alten Windows 98 Schlepptop kommt alles korrekt an.

    Verwende ich hingegen das genau gleiche Terminalprogramm mit genau den
    gleichen Einstellungen unter Windows XP (hab zwei PCs probiert), dann
    kommt garnix an. Hänge ich den AVR danach an den Laptop, kommt wieder
    alles sauber an....
    Wieso will das unter XP nicht?

    Das Empfangsproblem besteht aber auch beim Windows 98.

    Herzlichen Gruss
    Mario

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    14.09.2005
    Alter
    61
    Beiträge
    77
    Was ich so feststelle ist das erstens mal deine Kondensatoren zu klein sind. Ich klemme immer am Stecker Pin 2 und Pin 3 umgekehrt. Aber das hängt von deinem Kabel ab den du verwendest (null Modem oder nicht)

    Hab dir mal meine Schaltung angehängt die Funktioniert.


    PS:
    Kannst du mir sagen wie du mit Eagle beim Routen außen die Leiterbahnen so breit bekommst. Also alles aufgefüllt. Ich bekomme das nicht hin.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken rs232_224.jpg  

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    47
    Beiträge
    497
    Hast du schon mal Pin 11 und 12 vom MAX232 miteinander verbunden und überprüft, ob überhaupt ein Echo zum Terminal zurück kommt?
    Wenn nicht liegts am MAX oder an den Terminaleinstellungen.
    Wenn doch liegts wahrscheinlich an den RX Einstellungen am µC.

    sast

    雅思特史特芬
    开发及研究

  5. #5
    Murus
    Gast
    So, hab das Problem gelöst
    Ich hatte den MAX ein bisschen falsch beschaltet. Jetzt geht es tadellos.

    Herzlichen Gruss und Danke
    Mario

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •