Forum: PC-Programmierung USB -> RS232


von Ralf (Gast)


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

von Michael Maier (Gast)


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

von Thorsten (Gast)


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

von Ralf (Gast)


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

von Stefan (Gast)


Lesenswert?

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

von Thorsten (Gast)


Lesenswert?

Woher bekommt man den CP2101 und wie teuer ist der?

von René König (Gast)


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.

von Thorsten (Gast)


Lesenswert?

Ich hab mir das Datenblatt angesehen und ich muß sagen: echt cool.

von Rufus T. Firefly (Gast)


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?

von René König (Gast)


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.

von Thorsten (Gast)


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.

von Alex (Gast)


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

von T.Stütz (Gast)


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

von chrissy (Gast)


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!

von chrissy (Gast)


Lesenswert?

Ohhh welche Pein! Ich hatte stumpf vergessen, die dll rüberzukopieren..

Wenn eienr noch Erfahrungen hat: her damit

von Rufus T. Firefly (Gast)


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.

von chrissy (Gast)


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!

von chrissy (Gast)


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?

von chrissy (Gast)


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?

von T.Stütz (Gast)


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

von chrissy (Gast)


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.

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
Noch kein Account? Hier anmelden.