-         

Ergebnis 1 bis 4 von 4

Thema: Serielle Schnittstelle und Baudrate

  1. #1

    Serielle Schnittstelle und Baudrate

    Anzeige

    Hallo,

    ich versuche nun seit geraumer Zeit mittels der seriellen Schnittstelle des AT89C5131A-S3SUM mit meinem Computer zu kommunizieren. Vom Computer Sende ich ein Byte, das ich empfangen möchte. Die Baudrate beträgt 9600. Mit folgendem Code versuche ich den Controller zum Empfangen zu bewegen:
    Code:
    mov SCON,#01010010b
    mov PCON,#10000000b
    orl BDRCON,#00011110b
    mov BRL,#217
    
    mov P0,#0
    mov A,#0
    
    jnb RI,$
    mov A,SBUF
    clr RI
    
    mov P0,A
    Ich bekomme auch tatsächlich etwas zu sehen an P0. Aber nicht das, was ich vom Computer gesendet habe. Ich kann kein System erkennen was da ankommt. Irgendwie hab ich das Gefühl, dass ich die Baudrate im Controller falsch eingestellt habe. Aber ich habe jetzt mittlerweile alle Bits mehrmals kontrolliert und es kam immer das selbe raus.

    Kennt sich jemand von euch besser damit aus und weiß eventuell wo hier das Problem liegt?

    Vielen Dank im Voraus.

    MfG
    Der Eisvogel

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2012
    Beiträge
    132
    Hi Eisvogel

    Meine letzten Seriell-Verbindungs-Experimente bzw. Anwendungen sind einige zeit her, aber hier ist das an was ich mich erinnere (bzw. was meine Stolperfallen waren):

    MAX232 oder anderer Pegelwandler auf dem Board vorhanden?!
    Baudrate auf dem PC und auf dem Mikrocontroller identisch?
    hast du einen anderen Computer oder 2 Schnittstellen an deinem mit dem du Computer zu Computer überprüfen kannst, ob das raus geht was reinkommt?!


    Wichtig:
    -Wird der Mikrocontroller von einem externen Quarz mit Takt versorgt? Ist das externe Quarz auch wirklich aktiv? (Wenn ich mich richtig erinnere sind die internen Quarze zu ungenau für RS232). Schau auf dem Quarz nach was für ein Takt drauf steht und überprüfe in in der Software. Ich ging damals davon aus ein 16Mhz Quarz zu verwenden. Als ich dann unter dem uC nachgeschaut habe war es doch nur ein 14,irgendwas, das hat mich damals eine Woche gekostet xD

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    ... mittels der seriellen Schnittstelle des AT89C5131A ... mit ... Computer zu kommunizieren ...
    Die serielle, also UART, oder USB? Der Quarz, vorhanden oder nicht, dürfte bei 9k6 noch keine Fehlerquelle darstellen. WENN Du UART nimmst, dann schau Dir mal die EIA232-Spezifikation an - die RS232 will Unterkante so an die acht Völtchen, die kriegt wohl auch der AT89.. nicht hin. Dass der Computer auch mit reichlich mehr als 5V sendet, sollte Dir ebenfalls klar sein, dazu hat ja schon Thor geschrieben.

    Ne kleine Skizze könnte also sicher hilfreich sein; allerdings hatte ich noch nie ne UART mit Assembler bedient. Trotzdem kommen mir Deine zehn Codezeilen etwas sparsam vor :-/
    Ciao sagt der JoeamBerg

  4. #4
    Hallo,

    vielen Dank für eure Antworten. Ich habe das Problem gelöst.

    Zur seriellen Übertragung nutze ich eine Sparkfun FTDI USB-Adapter, der mit 0V und 5V Pegel arbeitet. Meine Controllerplatine hat, wie Thor richtig vermutet hat, einen Pegelwandler MAX232. Als ich das ganze angeschlossen habe, war mir nicht klar, dass die Ausgänge meiner Platine vom MAX232 kommen, da direkt neben dran noch eine 9-pol Sub-D-Buchse sitzt, sondern war davon ausgegangen, dass es die direkten Port-Verbindungen zum Controller selbst sind. Beim betrachten des Schaltplanes gab es dann die Erleuchtung. Also habe ich den FTDI Adapter direkt an die entsprechenden I/O Pins angeschlossen. Jetzt funktioniert es.

    Vielen Dank euch beiden!

    MfG
    Der Eisvogel
    Geändert von Der Eisvogel (16.09.2013 um 20:31 Uhr)

Ähnliche Themen

  1. Serielle Schnittstelle und Leerzeichen
    Von Dirk im Forum Robby RP6
    Antworten: 5
    Letzter Beitrag: 04.09.2009, 21:23
  2. 5v serielle schnittstelle und ISP
    Von Roboman93 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 11.06.2008, 19:58
  3. serielle schnittstelle mit softwareuart und winavr-c
    Von super_castle im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 07.02.2006, 15:11
  4. AT98S8252 Interrupt 0 und Serielle Schnittstelle
    Von chris1122 im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 28.01.2005, 00:28
  5. Serielle Schnittstelle und Multithreading
    Von Johannes im Forum C-Control II
    Antworten: 0
    Letzter Beitrag: 17.04.2004, 12:39

Berechtigungen

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