Ansprechen und Auslesen von Daten USB 2.0



  • Salve Forum,

    vorneweg dies ist mein erster Post im Forum.
    Aber nun zum fachlichen respektive meiner Fragen:

    (1) C++ GUI soll erstellt werden in Entwicklungsumgebung Netbeans, das in der Lage ist einen USB-Port (Stecker Typ B, Treiberdateien vorhanden, Spannungsversorgung höchstwahrscheinlich am Empfänger) anzuwählen und diesem durch senden oder empfangen, Daten zukommen zu lassen und sich diese anzeigen zu lassen, ich arbeite mit libusb. Finde jedoch kaum gute Tutorials, hat da jemand ein Tipp?

    (2) Hab im Internet ein erstes Programm dazu gefunden, das ich gerade testen wollte.
    Programm nachfolgend, jedoch läuft das bei mir nicht und ich bekomme einen BUILD FAILED, was bedeutet das, ich wollte mich mit dem Programm einarbeiten in die Materie:

    #include <iostream>	
    #include "libusb.h"
    
        
    
       using namespace std;
    
    int main() {
            
    
        libusb_device **devs; //pointer to pointer of device, used to retrieve a list of devices
    
            libusb_device_handle *dev_handle; //a device handle
    
        libusb_context *ctx = NULL; //a libusb session
    
        int r; //for return values
    
        ssize_t cnt; //holding number of devices in list
    
        r = libusb_init(&ctx); //initialize the library for the session we just declared
    
        if(r < 0) {
    
            cout<<"Init Error "<<r<<endl; //there was an error
    
            return 1;
    
        }
    
        libusb_set_debug(ctx, 3); //set verbosity level to 3, as suggested in the documentation
    
     
    
        cnt = libusb_get_device_list(ctx, &devs); //get the list of devices
    
        if(cnt < 0) {
    
            cout<<"Get Device Error"<<endl; //there was an error
    
            return 1;
    
        }
    
        cout<<cnt<<" Devices in list."<<endl;
    

    (3) Im GUI soll der USB Port ausgewählt werden können, ausgewertet werden um welchen es sich überhaupt handelt und dieser als Typ kurz dargestellt werden (mittels device descriptor). Dann soll eine Verbindung aufgebaut werden, in der das Datenpaket dargestellt wird, ohne Token und ohne Handshake-Inhalte (nur DATA0, DATA1 und DATA2). Ich schwanke noch zwischen Isochron und Interrupt Transfer. Kenne mich aber leider zudem nicht so gut in den Paketformaten aus. Kann mir hierzu jemand Tipps geben bzw. ein Code-Schnipsel der Realisierung?



  • @Timo_R sagte in Ansprechen und Auslesen von Daten USB 2.0:

    Finde jedoch kaum gute Tutorials, hat da jemand ein Tipp?

    https://libusb.info/ Da gibt es unter dem Menüpunkt Documentation eine API-Referenz, ein Wiki und FAQs.

    @Timo_R sagte in Ansprechen und Auslesen von Daten USB 2.0:

    jedoch läuft das bei mir nicht und ich bekomme einen BUILD FAILED, was bedeutet das

    Das bedeutet daß Dein Buildsystem keine ausführbare Datei erzeugen konnte. Es gibt sicher eine längere Ausgabe die Fehlermeldungen beinhaltet.



  • Kannt ich schon -



  • @Timo_R
    Ob du hier jemanden finden wirst der dir mit den Eigenheiten von USB Geräten oder libusb helfen kann weiss ich nicht (ich kann es nicht).

    Was wir sicher können, ist dir mit dem C++ Teil der Sache zu helfen. Nur dazu musst du schon etwas mehr Informationen rausrücken, wie @Swordfish schon geschrieben hat:

    Das bedeutet daß Dein Buildsystem keine ausführbare Datei erzeugen konnte. Es gibt sicher eine längere Ausgabe die Fehlermeldungen beinhaltet.

    So lange du das nicht tust, bleibt mir nur zu sagen

    @Timo_R sagte in Ansprechen und Auslesen von Daten USB 2.0:

    Kannt ich schon -

    Aha.


Log in to reply