Hallo Leute! Ich wühle mich schon seit ein paar Tagen durchs I-Net, finde aber nichts passendes. Deshalb möchte ich mal euch befragen, denn ich bin mir sicher, dass irgendwer von euch davon einen Plan hat ! :-) Also: Ich möchte unter Visual Studio 2008 und Vista ein Programm mit C++ schreiben, das dann via USB mit einem ATMega kommuniziert. Ich stelle mir das nun so vor: Ich binde so einen "SeriellPort" aus der Toolbox in mein Programm ein, wobei ich dann die dazugehörigen Funktionen dazu bei msdn finde. Von der Controllerseite her, würde ich an die RS-232-Schnittstelle einen IC anbinden, der mir RS-232 auf USB umsetzt. Soweit passt ja schonmal alles zusammen. Aber was fehlt mir jetzt zwischen dem SerialPort aus der Toolbox und dem USB-Anschluss am Rechner, damit das Programm auch mit dem Controller kommunizieren kann? Klappt das überhaupt so ? Ich bin für jede Hilfe und Input dankbar!!! Danke schonmal im Vorraus ! :-)
Florian G. schrieb: > Von der Controllerseite her, würde ich an die RS-232-Schnittstelle einen > IC anbinden, der mir RS-232 auf USB umsetzt. Ich denke dieser "Umsetzer" hat einen Treiber der dir eine virtuelle Serielle Schnittstelle simuliert: sprich du hast einen Com3 oder KA was. Den kannst du das mit dem "SeriellPort" ansprechen. Gruß Marc
DANKE ! :-) Das hört sich doch schon mal super an und es klingt so, als würde das die Lücke schließen :-) Ich werde deinem Tipp gleich nachgehen ! :-) Für weiter Tipps bin ich ebenfalls dankbar!
wenn Platine USB haben soll PC<-USB->FT232<-UART->ATmega Häufig verwendet bewährt oder V-USB Google hilft. oder PC<-USB->USB-RS232-Wandler<-RS232->MAX232<-UART->ATmega Platine hat dann einen Ser. Port
Das Ganze soll so realisiert werden: PC<-USB-Kabel->FT232<-RS232->ATmega @ Marc Ich kann mir jetzt aber noch nicht wirklich vorstellen, wie denn nun der SeriellePort(aus der Toolbox) den Kontakt zu dem Treiber-"Port" herstellt. Ich meine, woher weiß der eine Port von der Existenz des Anderen und dem Umsatnd, dass sie miteinander kommunizieren sollen? Hast du da auch noch eine Erklärung für ?
Kauf dir doch einfach so ein USB->Seriell Kabel. Hab einen Stecker (Digitus) vom großen C. Funktioniert auch. Kommt drauf an, was du für ein Experimentierboard hast. Mit serieller Schnittstelle wäre das optimal. Aufpassen : Hab die Erfahrung gemacht, daß meine beiden (Digitus + Vivanco) ein Nullmodemkabel brauchen. PS: Frage an die anderen : Kann Windows nur auf einer Schnittstelle senden ? Hatte mir mal ein kleines Windows-Programm geschrieben, das 2 Schnittstellen öffnet. Konnte aber nur mit der Schnittstelle senden, die als erstes geöffnet wurde. Hat jemand auch schon diese Erfahrung gemacht ?
unter windowes wird dein visual studio dir das schon abnehmen es gibt bereits fertige libs wo man nur sagen muss welchen COM port man öffnen will wenn das klappt gibts nen einfaches write und read vom COM ... was du mit diesen daten dann anstellst is wiederum deine sache was im hintergurnd passiert mit FTDI treibe rund so .. is DIR egal das macht das betriebssystem die libs bieten hierfür meist ganz einfache funktionen nach der art : int OpenCOM( char *comport ); rückgabewert ist eben 1 wenns geklappt hat , 0 wenn der COM nicht existiert so kann man zB listboxen erstellen mit COM die im system existieren vlt is das ganze eine fertige klasse unter C++ dort wirds dann wieder was mit --> geben ... prinzip is immer das selbe COM abfragen im betriebssystem COM öffnen Baudrate einstellen fetrig dann musst du dir für die kommunikation ein protokoll überlegen entweder ganz stur über ASCII ( man kanns beim debuggen auch mal mitlesen .) oder man baut sich protokolle zusammen 0x10 <länge> <datenblock> <checksumme> 0x80 oder sowas in der art
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.