Forum: PC-Programmierung USB-HID Programmieren C


von Obi Plal (Gast)


Lesenswert?

Ich habe eine Programm für  den PIC18F4550 geschrieben, das Daten 
(Strings) über USB(HID) senden und empfangen kann und damit dann 8 LED 
ein/Ausschalten kann. Ich sende die Daten momentan mit dem HID-Terminal 
von mikroElektronika. Nun mochte ich mir in C ein Programm für meinen PC 
(Windows 7) schreiben der die Daten an den PIC sendet und empfängt. Ich 
würde gerne wissen welchen Compiler ich am besten verwenden sollte und 
wie ich dich die Daten sende/empfange. Das Auswerten ist kein Problem.

von Timmo H. (masterfx)


Lesenswert?

Ich bevorzuge MinGW. Aber du kannst dir natürlich auch VisualStudio 
kaufen und ein paar GB auf der Festplatte verschwenden.
CodeBlocks ist übrigens eine ganz nette IDE für den MinGW (und viele 
andere Compiler).
Wenn du eher GUIs etc programmieren willst könntest du dir auch mal 
SharpDevelop angucken, ist jedoch C# bzw. VB.net

Aber der Compiler ist natürlich nur die halbe Miete (oder noch weniger), 
man muss natürlich auch den ganzen USB-Kram erstmal verstehen und eine 
Anwendung dafür programmieren.

von Obi Plal (Gast)


Lesenswert?

Kennt zufällig jemand ein gutes Tutorial?

von Jens (Gast)


Lesenswert?

Timmo H. schrieb:
> Aber du kannst dir natürlich auch VisualStudio
> kaufen und ein paar GB auf der Festplatte verschwenden.

Visual Studio gibt es in der Express-Version kostenlos zum Download. 
Neben Visual Basic ist da u. a. auch Visual C# dabei. Wenn man sich 
einmal in .Net eingearbeitet hat, kann man damit alles mögliche machen. 
Natürlich auch Daten von den Schnittstellen lesen. Sicher braucht es 
etwas Speicherplatz doch der größte Teil ist nun mal das 
.Net-Framework...

von Peter (Gast)


Lesenswert?

Hallo Obi,

Codeblocks und Visual Studio Express sind beide zu empfehlen. Als 
Programmiersprache empfehle ich C/C++. CSharp und VB sind von Microsoft 
und auch auf deren Plattform beschränkt.
Zu beachten bei Entwicklungen mit dem Visual Studio ist, dass die 
Rückwärtskompatibilität mit älteren Plattformen des .NET-Frameworks 
(z.B. bei XP) nur durch zusätzliche Programme bzw. Software gegeben ist. 
Was mich mittlerweile zu Codeblocks/MinGW/wxWidgets gebracht hat.

Bzgl. Code-Beispielen und Software findest Du hier was:

http://www.mikrocontroller.net/articles/USB_HID_Host_Treiber

Gruß Peter

von Arc N. (arc)


Lesenswert?

Peter schrieb:
> Hallo Obi,
>
> Codeblocks und Visual Studio Express sind beide zu empfehlen. Als
> Programmiersprache empfehle ich C/C++. CSharp und VB sind von Microsoft
> und auch auf deren Plattform beschränkt.

Nein, siehe u.a. Mono, MonoTouch (iOS), Mono for Android
Wer will kann auch direkt auf einem Android-Gerät mit C# arbeiten
C#ToGo
https://market.android.com/details?id=com.gregshackles.csharptogo
oder abseits von PC und Smartphone/Tablet -> Micro Framework (ohne OS, 
Apache Lizenz)
http://www.netmf.com/

> Zu beachten bei Entwicklungen mit dem Visual Studio ist, dass die
> Rückwärtskompatibilität mit älteren Plattformen des .NET-Frameworks
> (z.B. bei XP) nur durch zusätzliche Programme bzw. Software gegeben ist.

?
VS2010 kann problemlos Anwendungen für .NET 2.0, 3.0, 3.5, 4.0 erzeugen 
(auch die Express-Version)
.NET 4.0 gibt es ebenfalls für XP, allerdings erst ab XP SP3

An den TO:
HID Bespielcode gibt es z.B. direkt von Microchip
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784
(C++/CLI .NET 2.0, zu finden unterhalb des Installationsverzeichnisses 
unter USB\Device... bzw. USB\PC...)
oder z.B. C# http://www.codeproject.com/KB/cs/USB_HID.aspx

von Tobi (Gast)


Lesenswert?

Hi,

> Nein, siehe u.a. Mono, MonoTouch (iOS), Mono for Android
> Wer will kann auch direkt auf einem Android-Gerät mit C# arbeiten
> C#ToGo

Das hast du nicht wirklich für halbwegs gescheite Anwendungsentwicklung 
verwendet.

Gruss,
Tobi

von lanai (Gast)


Lesenswert?

Arc Net schrieb:
>> Codeblocks und Visual Studio Express sind beide zu empfehlen. Als
>> Programmiersprache empfehle ich C/C++. CSharp und VB sind von Microsoft
>> und auch auf deren Plattform beschränkt.
>
> Nein, siehe u.a. Mono, MonoTouch (iOS), Mono for Android
Dann solltest du aber Mono auch für Windows nehmen, wäre sonst schnell 
sehr enttäuschend.

von Arc N. (arc)


Lesenswert?

lanai schrieb:
>> Nein, siehe u.a. Mono, MonoTouch (iOS), Mono for Android
> Dann solltest du aber Mono auch für Windows nehmen, wäre sonst schnell
> sehr enttäuschend.

http://www.mono-project.com/Compatibility
"The easiest way to describe what Mono currently supports is:
Everything in .NET 4.0 except WPF, EntityFramework and WF, limited WCF."

Ob der TO etwas von den fehlenden Sachen braucht, ist, so wie es 
aussieht, ziemlich unwahrscheinlich.

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.
Lade...