mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik VB 2008: USB <--> uC


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 =)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Frank Link (franklink)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier rein.
Als erster Einstieg...

http://sourceforge.net/projects/libusbdotnet/

Gruß
Frank

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die meisten USB-COM-Adapter bieten doch PC-seitig einen virtuellen 
COM-Port? Dieser lässt sich in VB über die SerialPort-Klasse ansprechen.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Carl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Leonard Doyle (gaffaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/csha...

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;-)

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Leonard Doyle (gaffaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Guido Körber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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.