Wie richte ich den USB-zu-Seriell-Port auf QNX ein?

Wie richte ich den USB-zu-Seriell-Port auf QNX ein?

Wie richte ich ein USB-zu-Seriell-Gerät im QNX-Betriebssystem ein, um es in Code wie diesem zu verwenden open("/dev/serusb1")? Ich verwende VMWare zum Hosten von QNX. Wie überprüfe ich, ob der USB-Adapter richtig angeschlossen ist?

Antwort1

Der Treiber, den Sie ausführen müssen, heißt devc-serusb. Nach der Ausführung sollten Sie, sofern die Hardware vorhanden ist, das Gerät /dev/serusbx in /dev sehen. (wobei x Ihr Geräteindex ist)

Nachdem Sie das USB-zu-Seriell-Gerät an Ihre physische Box angeschlossen haben, stellen Sie sicher, dass es dann mit Ihrem laufenden QNX Vmware-Image verbunden ist und das Gerät nach dem Ausführen des Treibers tatsächlich in /dev angezeigt wird.

Der nächste Schritt besteht darin, über die Befehlszeile zu bestätigen, dass es funktioniert. Verbinden Sie das andere Ende des Serusb-Geräts mit einem Gerät, das Daten sendet. Führen Sie dann Folgendes in der Befehlszeile aus:

# cat /dev/serusb1

Wenn Sie keine eingehenden Daten sehen, ist möglicherweise die Baudrate oder ein anderer serieller Parameter falsch. Sehen Sie sich die Dokumentation zum stty-Befehl an, um die Parameter richtig einzustellen. Wenn Sie mit 115200 8-n-1 arbeiten, können Sie Folgendes tun:

# stty baud=115200 < /dev/serusb1

Wenn Sie Daten anzeigen können, indem Sie das Gerät über die Befehlszeile mit „cat“ aufrufen, können Sie das Gerät aus einem Programm heraus öffnen und daraus lesen, als wäre es eine Datei. Etwa so:

int main(int argc, char* argv[]) {
    int fd=-1;
    char ch;
    fd = open("/dev/serusb1", O_RDONLY);
    while(read(fd, ch, 1) > 0) {
        printf("%c", ch);
    }
}

verwandte Informationen