mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic mit PC steuern


Autor: Sabine Fifi (sabine)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ChrisK86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
normalerweise als serielle Schnittstelle.
Programmiersprache, welche du kennst, bzw leicht erlernst.

Autor: Sabine Fifi (sabine)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Chris K. (chrisk86)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sabine Fifi (sabine)
Datum:

Bewertung
0 lesenswert
nicht 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,

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sabine Fifi (sabine)
Datum:

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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: PIC user (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.sprut.de -> C-compiler (MPLAB, C18)
http://www.kleiber.li/joomla/index.php?view=articl...

Autor: PIC user (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Chris K. (chrisk86)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ein (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!!

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias Keller (mkeller)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: Soe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/Scr...

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. ;-)

Autor: Michael X. (Firma: vyuxc) (der-michl)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sabine Fifi (sabine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen Dank leute für die Tipps

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.