Hallo zusammen. Ich habe vor, demnächst eine Simple Platine zu erstellen, auf dem ein USB-fähiger PIC sitzt, z.B. PIC18F2550. PIC-Programmierung ist nicht so mein Problem. Aber die Programmierung für die PC-Software schon eher. Ich hätte gern zuerst ein Programm, das 2 Texte hat und einen Knopf. Im ersten Text steht, ob ein/das Gerät gefunden wurde. Wenn ich auf den Knopf drücke, sollen 2 Byte an den PIC übertragen werden, der PIC soll was machen und dann ein Statusbyte zurück zum PC schicken, das im zweiten Text angezeigt werden soll. Ich habe mir gedacht, dass das mit HID am einfachsten geht. Zudem würde ich gerne keinen extra Treiber installieren müssen (was ja mit HID gehen soll). Als Programmierungstool habe ich mir das Visual Studio 2010 Express - C# installiert. Sollte damit doch technisch gehen, oder? Gibt es dazu irgendwelche Tutorials, die sich mit dem HID und C# befassen? Am besten sogar in Visual Studio und PIC ;) Aber das ist kein muss. Deutsch oder Englisch ist egal. Ich würde aber auch gerne fertige Projekte angucken, also fertig, funktionsfähige Programme inkl. Sourcecode und Oberfläche. Wenn jemand denn sowas hat und weitergeben will. Vielen Dank, Michael
ich schrieb: > Ich würde aber auch gerne fertige Projekte angucken, also fertig, > funktionsfähige Programme inkl. Sourcecode und Oberfläche. Wenn jemand > denn sowas hat und weitergeben will. Es gibt da so ein Buch von Jan Axelson ("USB Complete"), da stehen einige Beispiele drin. Für C# würde ich mich dann eher an den VB- als den C++ Beispielen orientieren. Meine Sourcen kriegst du nicht. ;)
ich schrieb: > Gibt es dazu irgendwelche Tutorials, die sich mit dem HID und C# > befassen? Am besten sogar in Visual Studio und PIC ;) Aber das ist kein > muss. Deutsch oder Englisch ist egal. > > Ich würde aber auch gerne fertige Projekte angucken, also fertig, > funktionsfähige Programme inkl. Sourcecode und Oberfläche. Wenn jemand > denn sowas hat und weitergeben will. > > Vielen Dank, Michael Code Project ist für so was meistens eine gute Anlaufstelle... http://www.codeproject.com/KB/system/HIDAche.aspx (USB HID + PIC18)
Schau mal hier: www.embedded24.net. Das ist genau was Du suchst.
uff... Hatte etwas zutun in letzter Zeit. Danke für die vielen Antworten. Ich werd sie mir mal angucken und mal testen. Wenn ich es hinbekommen habe, werd ich nochmal von mir hören lassen.
Was du da vorhast mit deinem PIC und PC is überhaupt kein Problem. Wenn du dir die "Application Libraries" von microchip runterlädst, findest du einige beispiele zu USB darin, darunter auch einige dll's. Der einfachste weg ist es die usb dll in deine Hostapplikation einzufügen und dann ihre funktionen zu verwenden. Wie diese dll jetzt genau heißt weiß ich nicht auswendig, aber ich werde mir später meine schon fertigen projekte angucken udn dir genauer bescheidsagen. Es ist wirklich einfach damit zu arbeiten. Im Prinzip guckst ob dein Mikrocontroller über USB angeschlossen ist (identifiziert wird er über VID und PID), danach verbindest du dich mit dem device und sendest und empfängst deinen USB Buffer (bei pic18 is der max 64Byte). Wie gesagt, es gibt da ne fertige dll, die sich toll ins .net framework einbinden lässt und mit allen .net Programmiersprachen dann verwendet wernden kann (C++,C#;VB). Das einzige "Problem", dass es zu beachten gilt ist die verwendete Version von .net, soweit ich weiß ist "2.0" von der dll unterstützt, deshalb auch in das framework kompilieren ! Das war zumindest der Stand vor nem Jahr, ob jetzt schon ein neueres framework unterstützt wird, kann ich dir nicht sagen. Ich melde mich am Abend wieder und schreibe dir mal genau wie diese dll heißt. Ich kann dazu auch mal eines meiner Projekte ausgraben und mal versuchen mit welchen frameworks das kompatibel ist. Wenn nötig schreib ich dir auch n kleines tutorial, wollt ich sowieso mal machen, nen genereller leitfaden schadet da sicher nie.
Sorry für die Verspätung, aber ich hatte leider erst jetzt Zeit mal kurz zu gucken wie und was du zur USB HID Kommunikation mit C# benötigst. ALso wie gesagt, der beste bzw einfachste Weg führt über Microchips Application Libraries (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784). Darin enthalten sind auch Beispiele mit den nötigen dlls. Die dll die du benötigst ist die HID "class.dll", ehrlich gesagt ist diese dll für C++, was auf den ersten Blick keine weiteren Probleme bereiten sollte, jedoch stehen dir in C# nicht die gleichen Pointer zur Verfügung wie in c++. Das heißt du müsstest kleine Abänderungen und Konvertierungen bei jedem Empfangen und Senden des USB Buffers machen. Es gibt natürlich auch die Möglichkeit das eleganter und komfortabler zu lösen, so wie das zB ichgemacht habe: Ich habe mir ein eigenes Projekt angelegt (Typ: Class Library), in der ich eine Klasse definiere, die das intern alles verwaltet (Konvertierungen und DLL-Funktionsaufrufe). Dieses Projekt kann man dann einfach in sein "Hauptprojekt" einfügen. Das Kommunikationsprojekt als Resource hinzufügen und im Hauptprojekt den namespace einfügen, und schon kannst du eine Instanz der Klasse erstellen und sie ohne weiteres nützen. Es ist wirklich ganz einfach. Bei der "HID Class.dll" musst du aufpassen, dass du dann ins .net Framework 2.0 kompilierst, da diese Library zu neueren/späteren frameworks nicht kompatibel ist. Also ich habe die Lösung auch mit VisualStudio 2010 C# realisiert und es gab debei keinerlei Probleme. Wenn du Hilfe brauchst oder weitere Denkanstöße, schreib einfach hier was du braucht, oder schick mir privat ne Mail. E-Mail: poge@gmx.net glg Stefan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.