mikrocontroller.net

Forum: PC-Programmierung USB -> RS232


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
jedesmal wenn ich meinen USB->RS232 Konverter an eine andere Stelle des
USB-Hubs stecke bekomme ich eine neue Com-Schnitstelle, bin bereits bei
Com9. Wie kann ich z. B. mal wieder Com3 erhalten.
Vielen Dank im voraus, Gruß
Ralf

Autor: Michael Maier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tut mir Leid das ich dir zu diesem Thema nicht helfen kann. Jedoch
möchte ich gerne einen USB- rs232 konverter selbst bauen! hast du
zufällig das Schaltbild dafür??
mfg

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ralf

Benutzt du Windows? Dann kannst du doch im Hardwaremanager den COM-Port
zuweisen. Alternativ alle Treiber für den Konverter deinstallieren, dann
fängt die 'Nummerierung' wieder von vorne an.

@Michael

Schau dir das mal an:
http://www.ftdichip.com/Documents/AppNotes/DG232_20.pdf
Der Nachbau funktioniert relativ problemlos, des FT232BM bekommst sogar
bei Reichelt für so um die 6 Euro.

Gruß
Thorsten

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
erst einmal vielen Dank für die Antworten.

Durch mehrmaliger Deinstallation des Treibers konnte ich dann dem Port
eine andere Portnummer zuweisen, danach waren die umgeänderten wieder
frei.
Gruß
Ralf

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael: wiso nimmst du nicht eine fertigen Baustein z.B. CP 2101  Ist
billiger und lässt keine Wünsche offen.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher bekommt man den CP2101 und wie teuer ist der?

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Woher bekommt man den CP2101 und wie teuer ist der?"

Den bekommst Du z.B. bei Mouser oder bei DigiKey und kostet so um die 5
EUR, IIRC.

Die eigentliche Ersparnis zweigt sich, wenn man die benötigte externe
Beschaltung vergleicht. Wo der FTDI extrem viel benötigt, ist es beim
SiLabs fast nichts mehr (kein Quarz, kein EEPROM, ...).

Der CP2102 löst übrigens gerade den CP2101 ab.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab mir das Datenblatt angesehen und ich muß sagen: echt cool.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was gegen den CP210x spricht, ist die fehlende Unterstützung für RS485.
Genaugenommen, die vom FT232 unterstützte automatische
Sender/Empfängerumschaltung am Pin TXDEN (siehe Seite 19 im Datenblatt
v1.6).

Außerdem: Wer will bitte diese eigenartige Gehäusebauform verarbeiten?

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wenn ich mir den Betreff so anschaue, ist die fehlende
Unterstützung für 485 wohl kein KO-Kriterium.  :-)
Und wenn Ralf dem Chip eine Seriennumer verpasst, sollte er das
ursprüngliche Problem auch in den Griff bekommen. Dem vorhandenen
Umsetzer scheint die Seriennummer nämlich zu fehlen.

Gegen den Chip (FTDI oder SiLabs) spricht der Chip selbst, viel lieber
habe ich einen µC mit USB eingebaut. Aber das ist wohl Geschmacksache.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der CP2102 hat alles, was ich beim FTDI vermisst habe: interner
Oszillator, internes EEPROM und kaum externe Beschaltung. Und die
Gehäuseform ist nun nicht wirklich ein Problem.

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin grade am verzweifeln.

habe einen Adapter der sich immer auf Com 5 einstellt.
wie kann ich das ändern.
Ich habe eine Adapter von FTDI.

gruß Alex

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Systemsteuerung->System/Hardware/Gerätemanager/COM und LPT
dann eigenschaften von COM5 (FTDI) unter Anschlußeinstellungen
gibt es erweiter und da ganz unten gibts eine Listbox wo bei dir COM5
steht

Gruss

Autor: chrissy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab ebenfalls ein Prob mit dem FTDI und zwar habe ich den FTD2XX
Treiber installiert.
Jetzt möchte ich (und hab das auf deren Seite auch so verstanden) bei
einem existenten win32 Programm von mir (ist in c geschrieben) die
Zugriffe auf RS232 mit diesem Treiber benutzen, indem ich die
entsprechenden win32 apis durch die entsprechenden vom FTD2xx benutze.

Sollte soweit doch richtig verstanden sein?

Das Problem ist: ich krieg den nicht eingebunden. Wenn ich -wie bei
diesem c++ Beispiel bei denen auf der Seite- die "ftd2xx.h" einbinde,
krieg ich saumäßig viele Fehler....

Meie Frage: wie lüppt das mit dem FTD2X Treiber??? Was muss ich tun, um
das Program darauf umzustellen?

danke schön!

Autor: chrissy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohhh welche Pein! Ich hatte stumpf vergessen, die dll rüberzukopieren..

Wenn eienr noch Erfahrungen hat: her damit

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Das Problem ist: ich krieg den nicht eingebunden.
  Wenn ich -wie bei diesem c++ Beispiel bei denen auf der
  Seite- die "ftd2xx.h" einbinde, krieg ich saumäßig viele
Fehler...."

Würdest Du Fehlermeldungen nennen, könnte man versuchen, Dein Problem
zu diagnostizieren.

Poste doch mal die ersten Fehlermeldungen, die Dir Dein Compiler
ausspuckt.

Autor: chrissy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähh ja klar, das würde Sinn machen. Ich hatte gestern nicht die
ftd2xx.dll in das Projekt kopiert, das habe ich jetzt getan und den
Header einbinden funktioniert auch jetzt.

Der Fehler den ich nun bekomme, ist ein Linker Fehler, sonald ich eine
Funktion aufrufe.

->  SerialComm.obj : error LNK2001: Nichtaufgeloestes externes Symbol
->  __imp__FT_W32_CreateFile@28
->  Debug/E1090.exe : fatal error LNK1120: 1 unaufgeloeste externe ->
->  Verweise

Ich tue eigentlich nichts weiter, als (erst mal zum ausprobierem)
CreateFile zu benutzen. und zwar folgendermaßen:

BOOL OpenPort(aPort *port)
{
  TCHAR      szName[15];
  DCB      dcb;
  FillMemory(&dcb, sizeof(dcb),0);

  if(port->bOpened) return(TRUE);  //Gibts schon, also Abbruch

  wsprintf(szName,"USB_1090");
  if( !(port->hCom = FT_W32_CreateFile(szName, READ|GENERIC_WRITE, 0,
NULL, OPEN_EXISTING,  FILE_FLAG_OVERLAPPED, NULL)))
  {
    return(0);
  }
  return(1);
}

port->hCom ist als FT_W32_HANDLE deklariert. Damit alleien wird auch
nichts bemeckert.



Kannst du oder jemand sonst etwas anfangen und mir aus der Klemme
helfen?


besten Dank!

Autor: chrissy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: der Name ist nicht beliebig - lese ich gerade. Gibt es da
einen Standartnamen, oder unterscheiden sich z.B die Seriennummern?
Könnte ich da -pauschal- einen benutzen der immer verwendbar ist?

Autor: chrissy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt immer was neues bei mir.... Um nicht das Forum dicht zu müllen
erst mal die Frage: benutzt einer diesen FT2xx Treiber? Mit Erfolg?

Also ich binde jetzt die lib ein und kann logischerweise auch die
Funktionen aufrufen. Mein Fehler.

Das initialisieren des Ports verabschiedet sich nun nur bei einem
     if( !FT_W32_SetCommState(port->hCom, &dcb) )
  { (....) }
Aufruf. Und zwar mit einer Unbehandelten Ausnahme / Access
violation....


Glaubt eienr von Euch mir behilflich sein zu können?

Autor: T.Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DCB korrekt initialisiert ?

memset(&dcb,0,sizeof(dcb));

ganz wichtig :

dcb.DCBlength = sizeof(DCB);

und dann halt die entsprechenden einstellungen für den "virtuellen"
COM-Port wie Baudrate Stopbits Parität etc.

Gruss

Autor: chrissy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ist erledigt und zwar mit FTDCB, da ich ja wie gesagt den ftd2xx
treiber verwende und nicht den vcom treiber.

Auf meinem Win2000 Rechenr ließ sich der virtuelle com Treiber nämlich
gar nicht installieren. Und inzwischen ist der bestimmt so was von
verranzt, daß das aussichtslos ist.

Also: nicht virtuellen com benutze ich sondern den dll Treiber.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.