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
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
normalerweise als serielle Schnittstelle. Programmiersprache, welche du kennst, bzw leicht erlernst.
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?
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
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,
@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.
holger, ich bin in 3 Semester und ich habe nicht zuviel Ahnung, deswegen habe ich im Forum geschrieben,
>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?
www.sprut.de -> C-compiler (MPLAB, C18) http://www.kleiber.li/joomla/index.php?view=article&catid=39%3Amikrokontroller&id=45%3Apic-a-usb-article&option=com_content&Itemid=54
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 ;-)
@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
@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.
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!!
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
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 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. ;-)
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.
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.