- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 18

Thema: Einfachstes UART RS232 empfangen funktioniert nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.03.2007
    Beiträge
    28
    Hallo RN-User,

    Da mir in dem Forum schon öfters sehr gut und nett geholfen wurde, und die Beiträge hier auch viele Erkenntnisse und Lösungen für diverse Probleme bringen.
    Nun wollte ich auch einmal mein Wissen verbreiten, jetzt wo ichs mal kann


    Also es geht um folgende Problemstellung:
    Als Vorversuch soll über das Windows Hyperterminal per Eingabe ein Bytewert über die RS232 Schnittstelle an einen ATMEGA8 übertragen werden.
    Dieser schaltet anhand des Bytes (6 Pins bedeutet Bit 0-5) an PortC über Relais/Optokoppler jeweils eine LED.
    Das bedeutet, wenn man eine "1" sendet geht LED1 an, bei einer "2" LED2, bei einer "4" LED3 und bei einer "7" LED1,2,3. Normalzustand der LEDs ist aus.
    Desweiteren sollen dann die Eingänge an PortB eingelesen werden. Auch nur 6 Eingänge.
    GND Signal= 0, 5V=1

    Dieser Wert wird dann wiederum über die RS232 Schnittstelle zum Hyperterminal gesendet, so dass man anhand des Bitcodes auslesen kann wie die Schalter stehen.

    Ein MAX232 übernimmt die Pegelwandlung und ein externer 8MHz Quarz (mit entsprechend gesetzten Fuses) taktet den µC.

    Der Schaltplan befindet sich im Anhang, mit Target erzeugt, und ja hab ihn jetzt mal schnell erstellt, deswegen vielleicht nicht ganz so übersichtlich...

    Getestet wurde der Mikrocontroller zunächst am ATMEL AVR Starterkit Board STK500. Programmiert mit dem hier empfohlenen Bascom
    (Großen Dank übrigens für die Empfehlung und die schönen Beispiele, hatte nämlich keine Lust auf Assemblersprache, und C mit dem GUI Compiler war mir zu blöd und kompliziert zum Compilern und übertragen
    Einzig die Fuses stellen sich so schlecht ein, da nutz ich noch das AVR Tool, geht schneller und übersichtlicher und da dies nur einmal gemacht wird auch kein großer Aufwand)

    Soweit so gut, das µC Programm dazu befindet sich im Anhang.

    Natürlich hat das Programm nicht auf Anhieb geklappt und auch an der Beschaltung vom Board musste ich etwas basteln hat aber soweit alles geklappt.
    Die Tests am Board haben geklappt Kommunikation am Terminal ging und LEDs gingen an etc.

    Dann der Nachbau am Steckbrett (ja war lustige Arbeit )
    Jetzt sollte eigentlich auch alles gehen. Aber nada....

    Beim Versuch die Kommunikation weiterhin über das STK500 zu steuern (Per Rückführung des RXD,TXD und GND) ging es wiederum also kein Fehler in den Schaltungen.
    Aber nicht direkt über den MAX232. Alle Pins und Verbindungen und Steckerbelegungen haben gepasst. Auch habe ich (da zunächst ohne MAX gar nix ging) über den MAX immerhin vom µC zum Hyperterminal senden können. Nicht aber zurück, kein Empfang am µC.
    BAUD Einstellungen , Parity, Stopp, haben soweit gepasst.
    Und die Kommunikation über den STK500 ging bei gleicher Konstellation und nur RXD, TXD und GND zurückgeführt. Hat mich also sehr verwirrt.

    Lange hab ich den Fehler im Aufbau, im Programm etc. gesucht warum der µC zwar senden, jedoch nicht empfangen wollte. Und die Querlösung, die Daten über das andere Board zu schicken ging auch ohne Änderungen....

    Schließlich half mir ein Kollege.
    Der Fehler lag nämlich im Hyperterminal (Wo ich selbst nie gesucht hätte) !!!! Dort war nämlich die Flußsteuerung vom Standard also auf Hardware eingestellt. Am STK hat es mit dem mitgelieferten Kabel auch funktioniert. Bei meiner Platine mit eigenem Stecker wo nur PIN 2,3 und 5 belegt waren jedoch nicht.
    Und siehe da, kaum war die Flußsteuerung ausgeschaltet ging die Kommunikation auch auf der selbst gebauten Platine, mit MAX232 und eigenem Kabel.


    Und ich schreibe diese Geschichte hier zum einen aus Freude, dass es endlich geht, zum anderen hatten hier schon einige Leute ähnliche Probleme, meist dann aber ein Verkabelungsfehler vom RS232 Stecker.
    Ich wollte nur sagen es kann auch am Hyperterminal liegen!!!

    Vielleicht hilft einem mein Fehler oder auch die kleine Schaltung bei einem seiner Probleme. Und ein ähnliches Problem hat hier noch niemand beschrieben.
    Immerhin hab ich hier schon einige Lösungen und Hilfen gefunden, deswegen zum Dank sozusagen mein Feedback
    Angehängte Dateien Angehängte Dateien

Berechtigungen

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

Solar Speicher und Akkus Tests