TBK 4U :-)



CP210xEx

Die zum Konfigurieren der USB <-> UART-Bridges CP2101, CP2102 und CP2103 (SiLabs) bereitgestellte Software in Form der 'CP210xManufacturing.dll' lässt sich leider nicht so einfach in anderen Sprachen als C oder C++ verwenden. Als Beispiel sei hier Visual Basic genannt. Bevor es losgehen kann, schlägt man sich mit schier endlosen Declare-Ketten herum. Hat man diese Hürde genommen, kommen die eigentlichen Funktions-Aufrufe. Damit alles reibungslos funktioniert, muss man nun den Rückgabewert einer jeden Funktion prüfen. Hat es einen Fehler gegeben, kann man den Lauf des Programms unterbrechen und eine Fehlermeldung ausgeben (um beides muss man sich selbst kümmern!).

Als Abhilfe soll nun CP210xEx dienen. CP210xEx ist ein COM-Objekt, das sich um 'CP210xManufacturing.dll' hüllt und wesentlich einfacher handzuhaben ist. Man spart sich zum Einen die Declare-Ketten, man kann nach dem Hinzufügen einer Referenz sofort loslegen, und spart sich zum Anderen die fortwährende Prüfung der einzelnen Funktions-Aufrufe. Geht irgendetwas schief, wirft das Objekt eine Exception, die gefangen werden kann. Das Objekt liefert dann auch gleich die zum Fehler passende Beschreibung, sodass das Programm die Fehlertexte nicht mitbringen muss.

Der Umgang mit dem Objekt gestaltet sich, wie angedeutet, sehr einfach. Es muss lediglich sichergestellt sein, dass sich 'CP210xEx.dll' und die originale 'CP210xManufacturing.dll' im selben Verzeichnis befinden. Und natürlich muss die COMponente registriert sein. Letzteres lässt sich beispielsweise auf der Kommandozeile erledigen:

regsvr32 cp210xex.dll

Ein kleines Beispiel:

' Informationen zur Baud-Konfiguration des ersten Devices anzeigen
Dim Devices As CP210xDevicesLib.CP210xDevices
Dim Device As CP210xDevicesLib.CP210x
Dim conf() As CP210xDevicesLib.BaudConfig

Set Devices = New CP210xDevicesLib.CP210xDevices
Set Device = Devices(0)
conf = Device.GetBaudRateConfig

Dim Message As String
Dim n As Integer

For n = LBound(conf) To UBound(conf)
    Message = Message & "conf(" & n & ").BaudRate = " & conf(n).BaudRate & vbCrLf
Next n

MsgBox Message

CP210xEx, inklusive Source (C++)
Download Now!

AppNote 721
Download Now!

Software zur AppNote 721
Download Now!