C++ und USB
-
Ich Arbeite jetzt schon seit längerem mit c++ und wollte mal fragen ob ich über USB einen Integer oder einen Boolean an einen ATMEGA328 senden kann den ich mit Arduino Duemilanove programmieren möchte. Und Wenn ja welche Methoden gibt es .
(Ich vermute mal das es über einen Seriellen port gehen müsste da USB universal serial bus heist)
Ich hoffe ich bin hier richtig
Mfg cppfan.
-
...
-
Gut Vielen Dank also so kann ich Nachrichten Verarbeiten aber wie versende ich sie mit c++ ich bab mal irgend was mit Winsock gemacht wes aber nicht ob es geignet ist.
-
...
-
Auf dem Duemilanove ist ein ftdi-Chip verbaut, der von den Betriebssystemen als serielle Schnittstelle erkannt werden dürfte.
D.h. auf einem Windows-PC wird vermutlich ein virtueller COM-Port zu finden sein.Bevor du irgendwas programmierst, würde ich die Kommunikation erstmal "per Hand" testen. Brauchbare Software dafür ist z.B. hier aufgelistet:
http://www.mikrocontroller.net/articles/RS-232#TerminalprogrammeUnter Windows recht beliebt bei C++ Leuten:
http://www.codeproject.com/Articles/992/Serial-library-for-C
...per Hand: http://www.codeproject.com/Articles/3061/Creating-a-Serial-communication-on-Win32
-
Ok danke ich habe das Beispiel mal kopiert und Serial.h herunter geladen bekomme aber viele Fehler . Was jetzt, ist es die Falsche Headerdatei oder was?
Fehler:
Fehler 3 error C2039: 'EBaud9600': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 5 error C2039: 'EData8': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 12 error C2039: 'EHandshakeHardware': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 21 1 USB connect Fehler 7 error C2039: 'EParNone': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 9 error C2039: 'EStop1': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 2 error C2039: 'Setup': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 11 error C2039: 'SetupHandshaking': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 21 1 USB connect Fehler 14 error C2039: 'Write': Ist kein Element von 'CSerial' c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 26 1 USB connect Fehler 4 error C2065: 'EBaud9600': nichtdeklarierter Bezeichner c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 6 error C2065: 'EData8': nichtdeklarierter Bezeichner c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 13 error C2065: 'EHandshakeHardware': nichtdeklarierter Bezeichner c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 21 1 USB connect Fehler 8 error C2065: 'EParNone': nichtdeklarierter Bezeichner c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 10 error C2065: 'EStop1': nichtdeklarierter Bezeichner c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 20 1 USB connect Fehler 1 error C2664: 'CSerial::Open': Konvertierung des Parameters 1 von 'const char [5]' in 'int' nicht möglich c:\users\ts tim\documents\visual studio 2012\projects\usb connect\usb connect\main.cpp 17 1 USB connect 17 IntelliSense: "class "CSerial"" hat keinen Member ""EBaud9600"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 20 27 USB connect 18 IntelliSense: "class "CSerial"" hat keinen Member ""EData8"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 20 46 USB connect 22 IntelliSense: "class "CSerial"" hat keinen Member ""EHandshakeHardware"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 21 38 USB connect 19 IntelliSense: "class "CSerial"" hat keinen Member ""EParNone"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 20 62 USB connect 20 IntelliSense: "class "CSerial"" hat keinen Member ""EStop1"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 20 80 USB connect 16 IntelliSense: "class "CSerial"" hat keinen Member ""Setup"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 20 12 USB connect 21 IntelliSense: "class "CSerial"" hat keinen Member ""SetupHandshaking"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 21 12 USB connect 23 IntelliSense: "class "CSerial"" hat keinen Member ""Write"". c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 26 12 USB connect 15 IntelliSense: Das Argument vom Typ ""const char *"" ist mit dem Parameter vom Typ ""int"" inkompatibel. c:\Users\TS Tim\Documents\Visual Studio 2012\Projects\USB connect\USB connect\main.cpp 17 17 USB connect
-
Was für eine "Serial.h" soll das denn sein? Wo kommt die auf einmal her? Was willst du damit machen?
-
http://www.codeproject.com/Articles/992/Serial-library-for-C
auf ca. ein viertel der Seite.
-
OK ich habe jetzt den richtigen header aber bekomme Verweisfehler:
Fehler 8 error LNK1120: 7 nicht aufgel÷ste Externe c:\users\ts tim\documents\visual studio 2012\Projects\USB connect\Debug\USB connect.exe USB connect Fehler 1 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: __thiscall CSerial::CSerial(void)" (??0CSerial@@QAE@XZ)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect Fehler 2 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: virtual __thiscall CSerial::~CSerial(void)" (??1CSerial@@UAE@XZ)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect Fehler 4 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: virtual long __thiscall CSerial::Close(void)" (?Close@CSerial@@UAEJXZ)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect Fehler 3 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: virtual long __thiscall CSerial::Open(char const *,unsigned long,unsigned long,bool)" (?Open@CSerial@@UAEJPBDKK_N@Z)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect Fehler 5 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: virtual long __thiscall CSerial::Setup(enum CSerial::EBaudrate,enum CSerial::EDataBits,enum CSerial::EParity,enum CSerial::EStopBits)" (?Setup@CSerial@@UAEJW4EBaudrate@1@W4EDataBits@1@W4EParity@1@W4EStopBits@1@@Z)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect Fehler 6 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: virtual long __thiscall CSerial::SetupHandshaking(enum CSerial::EHandshake)" (?SetupHandshaking@CSerial@@UAEJW4EHandshake@1@@Z)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect Fehler 7 error LNK2019: Verweis auf nicht aufgel÷stes externes Symbol ""public: virtual long __thiscall CSerial::Write(char const *,unsigned long *,struct _OVERLAPPED *,unsigned long)" (?Write@CSerial@@UAEJPBDPAKPAU_OVERLAPPED@@K@Z)" in Funktion "_WinMain@16". c:\Users\TS Tim\documents\visual studio 2012\Projects\USB connect\USB connect\main.obj USB connect
-
Die dazugehörige *.cpp musst du natürlich auch im Projekt haben