- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Einfachstes UART RS232 empfangen funktioniert nicht

  1. #11
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Mach zur Kontrolle die "Hello world"-Geschichte. (Bascom-version)
    https://www.roboternetz.de/wissen/in...lo.2C_world.29

    Dann weißt du, ob die Kommunikations-Hardware funzt oder nicht.

    Es sind dort noch andere Beispiele, die du versuchen solltest.
    Dann kannst du dich über gefinkeltere Sachen stürzen
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    13.06.2006
    Beiträge
    56
    Hallo,

    deine if-Bedingung musst du nochmal überarbeiten, da die sound-Funktion nicht an die Bedingung geknüpft ist. Mit meiner Änderung müsste nur etwas zu hören sein, wenn dein Mega32 empfängt. Die Variable Zeichen wieder auf null zu setzen, nachdem etwas empfangen wurde, wäre auch nicht schlecht:
    Code:
    $regfile = "m32def.dat"                                     'ATmega8-Deklarationen
    $crystal = 16000000                                         'Quarz: 16 MHz
    $baud = 9600                                                'UART-Baudrate: 9600 Baud
    $hwstack = 32                                               ' default use 32 for the hardware stack
    $swstack = 10                                               ' default use 10 for the SW stack
    $framesize = 40                                             ' default use 40 for the frame space
    
    
    
    
    Dim Zeichen As Byte
    Zeichen = 0
    
    Do
      Zeichen = inkey()
      If Zeichen > 0 Then 
    Print "Habe Zeichen " ; Chr(zeichen) ; " empfangen!"
      Sound Portd.7 , 400 , 350                                 'BEEP
    Zeichen=0
    end if
    
     Loop
    End

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237
    ich danke ersteinmal allen für die Hilfe ich habe nun alles durchgetestet und jede menge Tips ausprobiert nur tut sich nix in meinem µC der ATMEGA 32 bleibt stumm und will entweder nix entfangen oder kann mit dem empfangenen nichts anfangen.

    Ich habe das AVR Term sowie das Hterm und ein in Excel geschriebenes VB Script zur Kommunikation mit der Com schnittstelle ausprobiert nichts will funktionieren.

    Das RN-Controll hat ja alles komplett auf dem Board und langsam kann ich mir nur vorstellen das der max232 vieleicht beschädigt ist senden tut er ja fleißig aber mit dem empfangen und auswerten geht rein gar nix.

    Ich werde mal versuchen eine Spannung zu messen ob irgendetwas am max232 angekommt und abgeht.

  4. #14
    Erfahrener Benutzer Begeisterter Techniker Avatar von PsychoElvis64
    Registriert seit
    21.12.2005
    Ort
    Leipzig
    Alter
    46
    Beiträge
    226
    Bei mir lags an der Spannung und an einer zu hohen Bautrate!

    Ich habe dann eine kräftiger Stromquelle genommen und die Rate auf Testweise 1200 etwas verringert und *ding* da lief es auf einmal

    Nur nen Tip bin auch kein Profi

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237
    ahh ein Leipziger

    das kann ich mal Probieren ob es an der Baudrate geht weil mittlerweile habe ich schon alles versucht das ich es schon halb aufgegeben habe.

    Irgendwann wollte ich es nochmal mit dem ATMega 8 probieren.

    Gruß
    Steffen

  6. #16
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.11.2006
    Ort
    olargues
    Beiträge
    776
    ein ganz nettes terminalprogramm für die pc-seite findet man hier:
    http://www.download-tipp.de/Telekomm...me/index.shtml

    und dann das terminal ga 2.38

    gruss

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.08.2006
    Ort
    Kitzscher
    Alter
    45
    Beiträge
    237
    fehler gefunden nach langem Spannung messen am Max232 habe ich festgestellt das der RX mit GND beschalten ist und anders herum.

    Schön das man originale Kabel mit falscher Beschaltung ausgeliefert bekommt. Zum Glück ist nichts kaput gegangen an meinem PC.

    Jetzt funkioniert alles wie ich mir das vorgestellt habe

    Vielen Dank für die Wertvollen Tips

    Gruß
    Steffen

  8. #18
    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

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests