Forum: Mikrocontroller und Digitale Elektronik PIC USB Zugriff mit Visual Basic und mpusbapi.dll


von Thomas W. (thomas0906)


Lesenswert?

Hallo

Ich möchte mit Visual Basic mit einem PIC 18F4550 kommunizieren.
Dazu gibt es wohl eine mpusbapi.dll mit den benötigten Funktionen.

Nun weiß ich leider nicht, wie man die in VB .NET aufruft.

Hat bitte irgendjemand einen Link oder Code oder ein Template dafür?

Bin schon am verzweifeln, daß es daran scheitert...


Danke
Thomas

von Klaus (Gast)


Lesenswert?

Was kann Dein PIC? Virtueller COM Port oder HID-Device?

von Thomas W. (thomas0906)


Lesenswert?

Hi

Ich wollte eigentlich NICHT über einen virtuellen ComPort arbeiten.

Scheinbar hat das hier noch niemand versucht!?

Ich habe jetzt die HDIclass.dll gefunden.
Das müßte ausreichen und nutzt die Windows Treiber.
Ich hoffe, damit kann ich erstmal Byteweise Daten übertragen.
Das reicht mir vollkommen, da ich mit dem PC nur Taster, Displays LEDs 
u.s.w. ersetzen möchte.

Wenn irgendjemand irgendwelchen VB Code dazu hat, bitte weiterhin 
melden.

Das Microchip Framework instaliiert 1000nde Dateien, zig Treiger und 
Dlls und ich steige noch nicht durch, was man nun wofür braucht...

Danke und Gruß
Thomas

von Jens (Gast)


Lesenswert?

Schaue dir mal die Seite von Sprut an.

http://www.sprut.de/electronic/pic/8bit/18f/interfaces/usb/usb.htm

Was stört dich am virtuellen ComPort?

von Pit (Gast)


Lesenswert?

Hier gibts auch VB-Code:
http://www.embedded24.net - quasi tafelfertig.

von Thomas W. (thomas0906)


Lesenswert?

Hi

Die Sprut Software paßt leider nicht mehr zum aktuellen MC Framework.

Mich stört da nichts dran, ich würde nur gerne mal alle Möglichkeiten 
ausprobieren.

Gruß
Thomas

von Thomas W. (thomas0906)


Lesenswert?

Pit schrieb:
> Hier gibts auch VB-Code:
> http://www.embedded24.net - quasi tafelfertig.

Ja, aber leider zu teuer für mich...

Gruß
Thomas

von Michael L. (michaelx)


Lesenswert?

Thomas W. schrieb:
> Hi
>
> Die Sprut Software paßt leider nicht mehr zum aktuellen MC Framework.
>
> Mich stört da nichts dran, ich würde nur gerne mal alle Möglichkeiten
> ausprobieren.
>
> Gruß
> Thomas

Ich verstehe dein Problem nicht. Was hindert dich daran, die 
mpusbapi.dll einzubinden? Sollte ja kein Thema sein, und bei sprut 
siehst du, das du brauchen wirst - Framework hin oder her.

Grüße.

PS: Habe noch einen Link für dich ...

http://www.gidf.de/visual+basic+dll+einbinden

von Thomas W. (thomas0906)


Lesenswert?

Hi

Die Microchip .dll ist nur für C geschrieben.
Für VB muß sie angeblich neu compiliert werden.
Mit Borland.
Leider kenne ich mich damit nicht aus.

Bei Sprut wird auch kein VB Code verwendet.

Im Google habe ich schon tagelang gesucht, aber nichts passendes 
gefunden.

Ich hatte halt gehofft, daß irgendwer hier das schonmal gemacht hat, 
gegebenenfalls eine neu compilierte .dll und ein Template für VB hat.

Aber wie oben geschrieben werde ich jetzt die HIDclass.dll nutzen.

Gruß
Thomas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas W. schrieb:
> Für VB muß sie angeblich neu compiliert werden.
> Mit Borland.

Ziemlich sicher nicht. Wie man DLLs aus VB heraus benutzt, ist 
hinreichend oft dokumentiert worden, und dazu müssen DLLs nicht neu 
compiliert werden.

von Thomas W. (thomas0906)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Thomas W. schrieb:
>> Für VB muß sie angeblich neu compiliert werden.
>> Mit Borland.
>
> Ziemlich sicher nicht. Wie man DLLs aus VB heraus benutzt, ist
> hinreichend oft dokumentiert worden, und dazu müssen DLLs nicht neu
> compiliert werden.

Nein, leider nicht, sonst hätte ich kein Problem.
Gab es übrigens auch 2007 schonmal, allerdings seitdem auch ohne Lösung:

Beitrag "mpusbapi in vbasic"

Gruß
Thomas

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn das das Problem ist, kann man sich auch eine Wrapper-DLL basteln, 
die die richtige Aufrufkonvention umsetzt.

von Thomas W. (thomas0906)


Lesenswert?

Jau, wenn ich wüßte, wie das geht, würde ich es machen.
Muß man ja sicher nur in C erstellen und für VB zugreifbar machen.

In VB bin ich relativ fit, aber meine C-Zeit liegt 20 Jahre zurück.
Und ne DLL hab ich auch noch nicht erstellt :-(

Werde ich mich mal mit beschäftigen.
Reicht ja, wenn man da mal eine Beispielfunktion nimmt...

Gruß
Thomas

von avr (Gast)


Lesenswert?

Von MonkeyBoard wird genau diese Variante verwendet.

das Radio z.B. hat als Download auch den kpl. VB-Code
für die Testsoftware.

http://www.monkeyboard.org/products

avr

von Michael L. (michaelx)


Lesenswert?

Thomas W. schrieb:
> Jau, wenn ich wüßte, wie das geht, würde ich es machen.
> Muß man ja sicher nur in C erstellen und für VB zugreifbar machen.

Hallo Thomas,

Ich weiß immer noch nicht, wo dein Problem ist. In der Online-Hilfe vom 
Visual Studio ist doch alles haarklein erklärt, und mit Beispielen. Du 
hast hier alle Stichworte bekommen, und im Web gibt es noch mehr als 
genug Beispiele. Es gibt u.a. auch kostenlose Bücher (galileo openbook), 
und wenn man dann mal über den Tellerrand schaut, entdeckt man die 
kosmischen Weiten von C# ...

> In VB bin ich relativ fit, aber meine C-Zeit liegt 20 Jahre zurück.

Ja, MS wollte zwar die Heerscharen von VB-Programmieren auch mit nach 
.NET nehmen, aber C# ist trotzdem die bessere Wahl, ich werfe nur mal 
case-sensitive Bezeichner in den Raum ...

> Und ne DLL hab ich auch noch nicht erstellt :-(

Oh - noch nie nicht!? Aber eines deiner Programme hast du schon mal 
außerhalb der IDE gestartet?

> Werde ich mich mal mit beschäftigen.

Ja mach das mal, ist möglicherweise eine ganz neue Erfahrung!

> Reicht ja, wenn man da mal eine Beispielfunktion nimmt...

Na sicher. Wenn ich was neues ausprobiere, mache ich auch immer erst 
einen ganz einfachen Prototypen. Macht man so - glaub ich.

Mir scheint, du hast erwartest, dass man dir hier dein Problem nebst 
Tipparbeit abnimmt. Das funktioniert allerdings nur selten.
Hilfe zur Selbsthilfe gern, oder wenn du mit einem konkreten Problemen 
kommst.

Grüße und viel Erfolg.

von Thomas W. (thomas0906)


Lesenswert?

>>>Mir scheint, du hast erwartest, dass man dir hier dein Problem nebst
Tipparbeit abnimmt. Das funktioniert allerdings nur selten.
Hilfe zur Selbsthilfe gern, oder wenn du mit einem konkreten Problemen
kommst.<<<

Hi

Ja, das scheint in diesem Forum wohl so die Regel zu sein.
Da sitzen überall in Deutschland kleine Entwickler und arbeiten alle
an den gleichen Problemen. Weil keine mal seine Module oder Libs 
weitergeben möchte. Wohlgemerkt im privaten Bereich! Objektorientierte 
private gekapselte Entwicklung. Ist ja modern...

Ich benötige das erstmal nur für die Programmierung meiner 
selbstentwickelten Modellbahnelektronik vom PC aus.

Gruß
Thomas

von Michael L. (michaelx)


Lesenswert?

Thomas W. schrieb:
>>>>Mir scheint, du hast erwartest, dass man dir hier dein Problem nebst
> Tipparbeit abnimmt. Das funktioniert allerdings nur selten.
> Hilfe zur Selbsthilfe gern, oder wenn du mit einem konkreten Problemen
> kommst.<<<
>
> Hi
>
> Ja, das scheint in diesem Forum wohl so die Regel zu sein.
> Da sitzen überall in Deutschland kleine Entwickler und arbeiten alle
> an den gleichen Problemen. Weil keine mal seine Module oder Libs
> weitergeben möchte. Wohlgemerkt im privaten Bereich! Objektorientierte
> private gekapselte Entwicklung. Ist ja modern...

Quatsch und Polemik!

Modern ist nur, einfach drauf los zu fragen und keine Doku mehr zu 
lesen. Hinweise werden auch nicht angenommen. Nein, man WILL(!) nur 
seine mundgerechte Lösung fertig präsentiert bekommen.

Die vielen pösen kleinen deutschen Entwickler sitzen alle nicht bei 
mikrocontroller.net herum und warten darauf, dass einer kommt und fragt. 
Sowas aber auch!

Hast du mal überlegt, dass dein Problem evtl. kein wirkliches ist? 
Täglich werden vermutlich abertausende DLLs in .NET-Code eingebunden ...

> Ich benötige das erstmal nur für die Programmierung meiner
> selbstentwickelten Modellbahnelektronik vom PC aus.

Das ist für das Problem nicht relevant.

von Thomas W. (thomas0906)


Lesenswert?

Hi

Du hast das Problem nicht verstanden.
Jemand hat den Tip zu einem Konverter gegeben.
Das werde ich versuchen.
Obwohl täglich Tausende das wohl auch versuchen....

Gruß
Thomas

von Potter (Gast)


Lesenswert?

Hallo Thomas,

das ist auch alles in VB machbar. Du must auch keine Wrapper-DLL 
erstellen. So wie ich das kenne kannst Du die Funktionen mit DllImport 
importieren. Evtl. kommt dann noch Marshalling dazu. Aber dann kannst Du 
ganz normal auf die Funktionen zugreifen. Es ist dann aber nimmer 
managed Code, also pass auf, dass Dir der GC nicht dazwischen funkt.

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.