Hi liebe Bastlerkollegen.
Ich habe folgendes Problem:
Ich möchte Daten zwischen meinem Pc und einem uC austauschen.
Mein Pc hat leider nur USB anschlüsse, also keine Com-Ports.
Ich habe schon eine Weile gesucht und z.B. die IO.dll gefunden, die soll
aber nicht mit einem USB-Com-Adapter funktionieren.
Die beste Möglichkeit wäre eine Art USB-Interface, welches ich per VB
2008 ansprechen kann.
Danke für eure Mühe =)
Daniel schrieb:> Ich habe schon eine Weile gesucht und z.B. die IO.dll gefunden, die soll> aber nicht mit einem USB-Com-Adapter funktionieren.
Die braucht man dafür auch nicht, selbst dann nicht, wenn man mit einer
"echten seriellen Schnittstelle kommunizieren will.
Wieso gibt es nicht einfach eine dll oder so, die einem erlaubt die
einzelnen Anschlüsse im USB anzusprechen?
Nach dem Motto: setze Leitung 1 auf HIGH, lese leitung 2 aus, usw.
Da die meisten uC auch über 5V Signale angesprochen werden, wäre das
doch sehr passend.
Carl schrieb:> Die meisten USB-COM-Adapter bieten doch PC-seitig einen virtuellen> COM-Port? Dieser lässt sich in VB über die SerialPort-Klasse ansprechen.
Über das Serialport-Element? Ich dachte das würde nicht funktionieren.
Ich habe ja einen Adapter.
Wenn der Treiber des Adapters einen virtuellen COM-Port anbietet geht
das (ich programmiere zwar nicht in VB, aber unter C# funktioniert das
problemlos und das Framework ist ja das gleiche)
Daniel schrieb:> Wieso gibt es nicht einfach eine dll oder so, die einem erlaubt die> einzelnen Anschlüsse im USB anzusprechen?> Nach dem Motto: setze Leitung 1 auf HIGH, lese leitung 2 aus, usw.
Da das vollkommen sinnlos wäre.
Hi,
eigentlich bietet jeder USB-COM-Adapter so einen virtuellen Comport an.
Wenn du den nicht finden kannst poste mal Adapternamen und die Sachen
die du versucht hast, vielleicht weiß Google da mehr :D
USB = Universal Serial BUS, d.h. ein Bussystem bei dem das
Betriebssystem / der PC alle LowLevel-Ansprache regelt, es gibt keine
Möglichkeit einen USB-Port direkt und hardwarenah anzusprechen und wenn
doch wäre es eine grobe Verletzung dieser Design-Prinzipien.^^
Über USB kann man nur mit den entsprechenden Protokollen reden,
allerdings gibts es da soweit ich weiß auch welche die man auf einen AVR
machen kann, dass der selbst quasi den COM-Adapter darstellt, gabs hier
iwo im Forum mein ich.
LG gaffaman
Ok, ich habe mir mal die Doku zu der Comport Komponente durchgelesen.
Dort gibt es Funktionen zum schreiben und lesen von Daten.
Ich bräuchte aber wie erwähnt nur zugriff auf einzelne Leitungen, nach
dem LED an, LED aus Prinzip.
Gibt es zum Comport ein Tutorial, damit ich ihn verstehe und das
Umsetzen kann?
LG Daniel
Daniel schrieb:> Ok, ich habe mir mal die Doku zu der Comport Komponente durchgelesen.> Dort gibt es Funktionen zum schreiben und lesen von Daten.> Ich bräuchte aber wie erwähnt nur zugriff auf einzelne Leitungen, nach> dem LED an, LED aus Prinzip.
RTS und DTR können auch mit dieser Klasse gesetzt werden (Eigenschaften
RtsEnable bzw. DtrEnable) ob das reicht ist eine andere Frage, da zum
einen die Klasse, zum anderen der Treiber dazwischenfunken kann.
http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/9dd9de8b-0b80-4c92-9201-0d8cf7ade4e4
Lösung: Andere Klasse/Komponente verwenden oder alles selber machen
> Gibt es zum Comport ein Tutorial, damit ich ihn verstehe und das> Umsetzen kann?> LG Daniel
Ein Serialport, auch ein USB-Serialport ist ein zeichenbasiertes
Interface. Bei USB kommt noch dazu, dass USB blockbasiert ist. Sind also
schlicht nicht dafür geeignet, um ein paar Pins wackeln zu lassen. Dafür
gibts zum Beispiel den IOWarrior.
Christian R. schrieb:> Ein Serialport, auch ein USB-Serialport ist ein zeichenbasiertes> Interface.
Dann ist wohl das einfachste, wenn ich den Comport "normal" benutze und
die Zeichen erst durch einen uC jage, wie in dem AVR Tutorial hier. Der
uC könnte ja dann je nach empfangenem Zeichen seine eigenen Ausgänge
schalten.
Das einzig dumme daran ist der kompliziertere Aufbau, aber ich denke das
bekomme ich gerade noch hin ;-)
Hi,
den uC mit RS232 zu füttern ist sicherlich die sinnvollste und
wahrscheinlich auch flexibelste Variante.
Wenn es dir wirklich nur um ein paar Pins geht kannst du unter Umständen
auch komplett auf einen uC verzichten und über den Parallel Port senden.
Auch dafür gibt es USB-LPT Adapter, wobei man bei denen dann aufpassen
muss, da nicht alle einen LPT Port-Treiber installieren sondern manche
nur einen virtuellen Druckertreiber.
Leonard Doyle schrieb:> den uC mit RS232 zu füttern ist sicherlich die sinnvollste und> wahrscheinlich auch flexibelste Variante.
Ok, ich bastel dann mal los =P
Parallelportadapter sind Printerdevices, lassen sich also durch die
automatisch ladenden Treiber nicht so einfach zugreifen.
Wenn es um universellen I/O geht, dann sind die IO-Warrior besser
geeignet:
http://www.io-warrior.de