ubuntuusers.de

FTDI USB Serial Device in C/C++ ansprechen.

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

Hiswif

Anmeldungsdatum:
9. August 2007

Beiträge: 142

Hallo.

ich habe mir vor einem Jahr bei Conrad das "Lernpaket Experimente mit USB" von Franzis zugelegt. Leider sind alle Beispiele in VB6 geschrieben so das ich mich hingesetzt habe und zur Zeit dabei bin mir das ganze in C bzw. C++ mit QDevelop anzueignen. Bisher habe ich alle Header installiert bekommen und auch das Device läuft.

sudo cat /proc/tty/driver/usbserial

gibt

0: module:ftdi_sio name:"FTDI USB Serial Device" vendor:0403 product:6001 num_ports:1 port:1 path:usb-0000:00:1a.2-1

aus.

So nun bin ich dabei das Gerät mittels C anzusprechen.

Dazu habe ich mir dieses kleine Programm geschrieben.

#include <stdio.h>
#include "ftd2xx.h"

FT_STATUS ftStatus;
unsigned long numDevs;

int main ()
{
        ftStatus = FT_ListDevices(&numDevs,NULL,FT_LIST_NUMBER_ONLY);
if (ftStatus == FT_OK) {
// FT_ListDevices OK, number of devices connected is in numDevs
printf("Anzahl: %lu", numDevs);
}
else {
// FT_ListDevices failed
}
return 0;
}

Wenn ich dies jedoch mittels

gcc -o test test1.c

compilieren will, erhalte ich folgende Fehlermeldung.

/tmp/cco7Dy6F.o: In function `main':
test1.c:(.text+0x14): undefined reference to `FT_ListDevices'
collect2: ld returned 1 exit status

Diese Meldung kommt auch wenn ich mit QDevelop eine Oberfläsche erstelle und die Funktion einem pushButton zuweise.

Irgendwie habe ich keine Idde mehr was ich gerade Falsch mache. Ich glaube ich übersehe bestimmt enfach was, aber irgendwie erkenne ich nicht was. Kann auch sein weil meine C kenntnisse noch aus der Schulzeit stammen 😉

Ich hoffe ihr könnt mir helfen, hab ja schon gesehen das mindestens 2 dieses Lernpaket auch haben. Vieleicht könnt ihr mir ja auch weitere Tipps geben die Beispielprogramme in C zu importieren.

MFG

His

BodomBeachTerror

Anmeldungsdatum:
24. März 2008

Beiträge: 788

Du musst die Librarys natürlich dazulinken.

Mit "-lNAME" kannst du den Namen der lib angeben.

Für qt zb

1
gcc bla.cpp -lQtGui4 -lQtCore4

Hiswif

(Themenstarter)

Anmeldungsdatum:
9. August 2007

Beiträge: 142

Ich dummerschen.

Danke dir. Ich wusste es war was total simples was ich einfach nur vergesse. Ist irgendwie immer so 😉 Hatte tatsächliche vergessen die libftd2xx zu linken. Jetzt muss ich nur schauen wie ich das im QDevelop einstelle.

Danke dir

MFG

His

Antworten |