Hallo, ich habe ein Usb - RS485 Kabel von FTDI um mein Gerät mit einem PC zu verbinden. Von dem Gerät kann ich daten an den PC senden aber keine auf dem Gerät empfangen. ich vermute das die Konfiguration mit Mprog nicht stimmt. kann mir da jemand helfen? Desweiteren werden bytes einfach weggelassen, wenn diese 0 sind. kann man das einstellen?
Hallo!
>kann man das einstellen?
Ja sicher: am Knopf 42 deines Gerätes oder in Zeile 42 der
Steuersoftware.
in meinem Gerät schalte ich die Richtung um, dabei ist es immer auf Empfangen, außer wenn es was senden möchte. aber ich glaube in den Treiber in dem Kabel habe ich was falsch eingestellt
Schau dir mal das DB von FTDI an da steht drinnen wie er für RS485 Konfiguriert wird, du must halt #RXEN und #TXEN richtig setzen.
Benutzt du es als VCP? Verwende vermutlich das Kabel das du meinst (genaue Bezeichnung wär hilfreich) und andere FTDI-Produkte recht häufig und im Virtual-COM-Port-Betrieb funktioniert das Datenrichtung umschalten in "Werkseinstellung" automatisch... DAs Kabel hat vmtl. auch RX und TX LED, kontrollier mal diese ob die Datentransfers hinhaun oder nicht Mehr Informationen wären nicht schlecht..
die Bezeichnung lautet USB-RS485-WE-1800-BT kann sein das es in der Werkseinstellung funktioniert, hab es aber mit Mprog verändert und weis die Werkseinstellung nichtmehr. Die LEDs blinken gleichzeitig
blinken Sie auch gleichzeitig wenn auf der anderen Seite nix is? Also einfach ein Terminal (z.b. HTERM) auf, Comport öffnen und mal ein paar byte senden und die LEDs beobachten... Wenn dann auch noch beide Blinken, hast du entweder die LEitungen zusammenstehen oder per Einstellung einen Local Loop produziert..
Ok.. hab das Kabel daheim liegen, bin aber grad auf der Uni, kann dir im Worstcase die Einstellungen auslesen... kann man über Mprog (bin mir nicht sicher ob ich da nicht mal was anderes von FTDI verwendet hab f. Chipkonfiguration) nicht einen Reset der Einstellungen machen?
"Gleichzeitig" werden die beiden LEDs nicht leuchten, sondern unmittelbar hintereinander ==> halbduplex bei RS485. Wenn beide LEDs leuchten is das aber zumindest mal ein Indiz dafür dass auch in beide Richtungen was am Bus passiert, sprich deine Hardware macht zumindest mal irgendwas, wenn auch nicht gesagt sei das richtige ;)
danke das du mir wirklich helfen möchtest. wäre glaub nicht schlecht wenn du mir die werkseinstellung durchgeben könntest
hab jetzt mit dem oszi gemessen und am RX Pin des Mikrocontrollers kommt was an, nur in dem Eingangsregister wird nichts rein geschrieben.
Die Richtungsumschaltung geht - sofern nicht irgendwie verstellt - automatisch, um die brauchst du dich vom PC aus eigtl. nicht kümmern... Aber gut, wenn am Rx was ankommt (das richtige?) dann scheint das Problem ja eh wo anders zu liegen ;)
das richtige weis ich noch nicht, in des Empfangsregister steht leider nichts drinnen, hab es nur mit dem Oszi gemessen
Wenn du Daten vom Gerät zum PC senden kannst und am RX des Mikroprozessors / Geräts Daten hast, dann funktioniert die Umschaltung - vorausgesetzt du empfängst hier nicht Störungen weil du beispielsweise keine Hardwarebeschaltung für "Idle"-Zustand, sprich alle Busteilnehmer lesend, hast. Wenn du beispielsweise ein 'A' vom PC sendest kannst du mit dem Oszi mühelos nachprüfen ob auf der RX-Leitung auch ein A empfangen wird. Ist das der Fall, passt deine RS485 Kommunikation und das Problem liegt am Prozessor/Kalten Lötstellen/kaputtem Steckbrett oder an der Software.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.