Forum: Mikrocontroller und Digitale Elektronik pic mit PC steuern


von Sabine F. (sabine)


Lesenswert?

Hi,
ich studiere Elektrotechnik, ich habe mir in der letzte Zeit mit PIC 
Programmierung beschäftigt. Ich habe ein Aufgabe bekommen und ich 
brauche eure Hilfe.
Ich muss ein PIC mit einem PC steuren, der PIC ist mit Sensoren 
verbunden, die Zuständer der Pins-Sensoren von der PIC müss ich von der 
Rechner freigeben und auslesen können. ich werde PIC18F2550 verwenden, 
da er ein USB Schnittstelle hat. Die USB-Schnittstelle von den PIC zu 
prorammieren ist keine Problem. Die Frage ist, wie wird ein PC den PIC 
erkennen, die Steuerung muss durch eine Schaltfläche (Fenster mit 
Tasten)am PC durchgeführt werden, ist das möglich? welche 
Programmieresprache brauche ich dafür?
Grüße

von ChrisK86 (Gast)


Lesenswert?

Du kannst den PIC einfach als virtuellen com-Port laufen lassen. Dann 
kannst du mit fast jeder Programmiersprache (Delphi, C#, etc.) 
problemlos darauf zugreifen...

Chris

von chris (Gast)


Lesenswert?

normalerweise als serielle Schnittstelle.
Programmiersprache, welche du kennst, bzw leicht erlernst.

von Sabine F. (sabine)


Lesenswert?

PIC einfach als virtuellen com-Port
ich habe das nicht verstanden, kannst du mir mehr erklären?
ich habe C++ kenntnisse, aber es muss nicht ein spezielle Complier um 
die Schaltfläche zu programmieren?

von Chris K. (chrisk86)


Lesenswert?

Du musst den PIC so programmieren, dass er vom PC als COM-Port erkannt 
wird.

Ich verwende den PIC-C Compiler von ccsinfo.com da sind schon mehrere 
Beispiel-Projekte (in c) für USB dabei. Was du suchst ist die CDC-Klasse 
(Communication Device Class). Das ganze ist aber ziemlich kompliziert, 
dass ich auch immer nur die Beispiele für eigene Projekte abgeändert 
habe...

Chris

von Sabine F. (sabine)


Lesenswert?

Du musst den PIC so programmieren, dass er vom PC als COM-Port erkannt
wird.
kannst du mir mehr erklären? es wäre nett,

von holger (Gast)


Lesenswert?

@Sabine
Deine Worte:

>Die USB-Schnittstelle von den PIC zu
>prorammieren ist keine Problem.

Wo ist denn dann dein Problem?

Dann das hier von dir:

>PIC einfach als virtuellen com-Port
>ich habe das nicht verstanden, kannst du mir mehr erklären?

Du hast keine Ahnung.

>>Du musst den PIC so programmieren, dass er vom PC als COM-Port erkannt
>>wird.

>kannst du mir mehr erklären? es wäre nett,

Lass das mit USB besser sein. Das kann man nicht in
zwei, drei, oder hundert Zeilen Text erklären.

von Sabine F. (sabine)


Lesenswert?

holger,
ich bin in 3 Semester und ich habe nicht zuviel Ahnung, deswegen habe 
ich im Forum geschrieben,

von holger (Gast)


Lesenswert?

>ich bin in 3 Semester und ich habe nicht zuviel Ahnung, deswegen habe
>ich im Forum geschrieben,

Naja, in meinem 3 Semester gab es noch kein USB.
Irgendwie hab ich das trotzdem geschafft. Viel lesen halt.

Und wenn ich das hier lese,...

>Die Frage ist, wie wird ein PC den PIC
>erkennen, die Steuerung muss durch eine Schaltfläche (Fenster mit
>Tasten)am PC durchgeführt werden, ist das möglich? welche
>Programmieresprache brauche ich dafür?

Du bist mit der Aufgabe völlig überfordert.
Wer hat dir diese Aufgabe gestellt?

von PIC user (Gast)


Lesenswert?


von PIC user (Gast)


Lesenswert?

noch was... wenn ich dir einen tip geben darf: lass die finger von CSS 
in bezug auf die PIC18, dieser compiler hat so viele fehler wie sand am 
meer. wenn was funktioniert, dann ist das nachvollziehen sehr einfach, 
falls mal etwas nicht funktioniert, gibste dir lieber gleich den 
gnadenschuss. falls du CSS nicht kennst, besser so.
ps: der COM-Port ist die serielle schnittstelle. du kennst sicher die 
kleinen teile, die du am USB einstecken kannst und dann einen serielle 
schnittstelle hast: genau das meinen die anderen ;-) bzw. dass der PIC 
gegenüber dem PC genau ein solches gerätchen simuliert, denn viele 
können dir helfen bezüglich der seriellen schnittstelle aber nicht 
bezüglich USB (weniger erfahrung weil komplizierter). jedoch habe ich 
selber noch nie die serielle schnittstelle bei den PIC benutzt sondern 
nur immer gleich die USB-schnittstelle mit der von Microchip zur 
verfügung gestellten libraries oder eben fix-fertig mit den dateien aus 
dem oben genannten link ;-)

von Chris K. (chrisk86)


Lesenswert?

@PIC user: Welche Version von CCS hast du denn verwendet? Wäre für mich 
interessant, weil ich deine Probleme nicht nachvollziehen kann...

Lg, Chris

von Ein (Gast)


Lesenswert?

@Sabine
Lass dich nicht fertig machen.

Alle haben mal angefangen.

Info`s mit USB und PIC gibt es einige:

Sprut ist einer, Mikroe und Oshon-Soft kenne ich noch.

http://www.sprut.de/electronic/interfaces/usb/usb.htm

Einfach zu verstehende Sachen brauchst du, schwerer kannst du immer 
noch.

Wenn du den Umgang mit USB lernen willst, fange mit einer Möglichkeit 
an.

USB ist sehr komplex, aber keine Zauberei.

Oshon ist auch mit einigen Beispielen dabei, sogar mit Purebasic.

http://www.oshonsoft.com/pic18usb.html

im Forom von Mikroe bekommst du in allen Sprachen Info`s: C, Pascal, 
Basic.

http://www.mikroe.com/forum/

Aber auch im Purebasic-Forum (User: MPZ hat was verständliches im Umgang 
mit PC und USB(HID) geschrieben.

http://www.purebasic.fr/german/

Und letzte Bemerkung:

@Schlauberger und Runtermacher--->
Helfen ist angesagt, nicht andere dumm da stehen lassen.

In der Sache Hilfestellung geben ist viel schlauer.

von Ein (Gast)


Lesenswert?

Nachtrag:
Kleiber informiert auch gut, kannte ich noch nicht.

Google mal nach Michael Roland, der hat auch mal ein gutes pdf, aber für 
AVR`s ins Netz gestellt, habe es aber nicht mehr gefunden.


Und ev. merkst du es an meinen Links, man muss nicht C können, Basic 
geht auch!!

von gast (Gast)


Lesenswert?

für programmierung einer oberfläche  auf dem PC geht auch lazarus
ist delphi-ähnlich
dort bastelt man sich mit fertigen libs seine buttons auf eine form und 
hat so eine grafische oberfläche mit knöpfen und extfeldern oder sonswas

alsternativ sollte so ziemlich jede hochschule auch zugang zu MSNDAA 
haben , dort gibts meist visual studio  für c, C++ , C# ...... 
kostenlos


man muss dann eben nur noch programmieren was in einer textbox stehen 
soll oder was passiert wenn der button gedrückt wurde
der rest läuft intern ab und man brauch sich nicht darum kümmern wie man 
eine oberfläche darstellt

für einsteiger is lazarus auch nicht schwer


am einfachsten auf dem PIC eine firmware schreiben die windows einen 
virtuellen COM port  , also eine serielle schnittstelle  bereitstellt

über diese serielle kannst beliebig daten übertragen
wie diese auf der PC seite  und umgekehrt ankommen ..
das liegt in deiner hand

der PIC wartet dann einfach auf bestimmte befehle
anhand des befehls fragt er den sensor ab und schickt die daten über den 
vortuellen COM zum PC
dieser empfängt die daten und kann sie darstellen oder auch speichern 
oder sonstwas

von Matthias K. (mkeller)


Lesenswert?

Hallo Sabine,

ich beschäftige mich auch mit PIC18 und USB.

Ich würde dir auch die Tuts auf www.sprut.de empfehlen. Dann lädst du 
dir noch das aktuelle MPLab und den C18 Compiler runter (gibts ohne 
Optimierungen für Schüler/Studenten kostenlos) sowie das Microchip USB 
Framework.

Dann fängst du erstmal an den PIC kennenzulernen (LEDs schalten, tasten 
abfragen, UART programmieren). Nach einer Weile fühlst du dich auch beim 
PIC18 "heimisch", kommt natürlich drauf an ob das dein erster µC ist. Im 
Studium müsstet ihr aber schon was diesbezüglich gemacht haben.

Da die ganze Steuerung keinen hohen Datendurchsatz braucht hast du 
mehere Möglichkeiten:
-Ein FTDI Chip der dir UART in USB "umwandelt"
-die CDC Klasse mit dem MicrochipFramework
-eine allgemeine USB Klasse (libUSB, winUSB oder MCHPUSB) <<-- ist aber 
am kompliziertesten.

Für die Oberfläche kannst du nehmen was dir gefällt. Weit verbreitet 
unter Windows ist eben .Net. Du kannst mit VisualBasic oder C# oder 
c++/cli sehr enfach Oberflächen mit MS Visual Studio Express erstellen. 
Im Studium hab ich auch erst ANSI C++ dann C++/CLI und dann c# 
kennengelernt. Ist alles drei leistungstark. C# und VB sind 
oberflächenmäßig mächtiger und übersichtlicher.
Schau mal hier:
http://openbook.galileocomputing.de/einstieg_vb_2008/
http://openbook.galileocomputing.de/visualbasic_2008/
http://openbook.galileocomputing.de/visual_csharp/

von Soe (Gast)


Lesenswert?

Von mir auch noch einen Tipp:
Wenn du dich für das Visual Studio entscheiden solltest, gibt es ein 
super Buch zum Einstieg als pdf im Netz:
C++ in 21 Tagen
http://www-user.tu-chemnitz.de/~kmai/work/info/Scripte/C%2B%2B%20%20in%2021%20Tagen.pdf

Damit kann man echt schnelle Ergebnisse erziehlen. Steht auch ein 
einfaches Beispiel für Kommunikation mit dem COM-Port drin.

Wünsche dir viel Erfolg!

PS: Wo studierst du denn? Die Aufgabe klingt ein wenig nach meinem alten 
Prof. ;-)

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

Wenns für die Uni/FH ist: Ich hab seinerzeit mit National Instruments 
CVI sehr gute Erfahrungen gemacht um einen seriellen Mikro an den PC zu 
bekommen. Fürs Hobby zugegebenermaßen etwas overdone.

von Sabine F. (sabine)


Lesenswert?

vielen Dank leute für die Tipps

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.