FAQ | Points | Add... | Recent posts | Search | Register | Log in


FTDI USB<=>RS232 i c++ builer


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> FTDI USB<=>RS232 i c++ builer
Author
Message
mikee
Poziom 9
Poziom 9


Joined: 25 Mar 2003
Posts: 33
Location: Toruń

Post#1 Post from the author of the topic 04 Aug 2004 20:04   

FTDI USB<=>RS232 i c++ builer


Witam,
zastanawiam sie czy ktos z Was próbowal obsłuzyc konwerter USB na RS232(FTDI) pod builderkiem. Bo ja mam z tym mały problem. Chodzi prawdopodobnie o DLL'ki do których nie moge sie dobrac. Podczas próby kompilacji pojawia sie komunikat

[Linker Error] Unresolved external 'FT_ListDevices' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\MOJE PROJEKTY\OBSLUGA_FTDI_2\UNIT1.OBJ

a innym razem cos takiego

[Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\MOJE PROJEKTY\OBSLUGA_FTDI3\FTD2XX.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

co to jest to OMF i jak sie tego problemu pozbyc?

załczam kod moze ktos bedzie wiedział co tu nie gra

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "FTD2XX.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

extern "C" __declspec(dllimport) FT_STATUS WINAPI FT_GetDeviceInfo ( FT_HANDLE ftHandle, FT_DEVICE *pftType, LPDWORD lpdwID, PCHAR pcSerialNumber, PCHAR pcDescription, PVOID pvDummy );

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
FT_HANDLE ftHandle; // valid handle returned from FT_OpenEx
FT_DEVICE ftDevice;
FT_STATUS ftStatus;
DWORD deviceID;
char SerialNumber[16];
char Description[64];

ftStatus = FT_GetDeviceInfo(
ftHandle,
&ftDevice,
&deviceID,
SerialNumber,
Description,
NULL
);

if (ftStatus == FT_OK)
{
if (ftDevice == FT_DEVICE_BM)
; // device is FT232BM
else if (ftDevice == FT_DEVICE_AM)
; // device is FT8U232AM
else if (ftDevice == FT_DEVICE_100AX)
; // device is FT8U100AX
else
; // unknown device (this should not happen!)
// deviceID contains encoded device ID
// SerialNumber, Description contain 0-terminated strings
}
else
{
// FT_GetDeviceType FAILED!
}

}
//---------------------------------------------------------------------------

Moze ktoz miał juz taki problem i wie jak sobie z nim poradzic!!!
Z góry dzieki

Pozdrawiam
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 04 Aug 2004 20:04   





Back to top
   
-raj-
Poziom 6
Poziom 6


Joined: 03 Aug 2004
Posts: 16
Location: Gdańsk

Post#2 04 Aug 2004 21:57   

Re: FTDI USB<=>RS232 i c++ builer


Hej

Problem tkwi w tym, ze biblioteka FTD2XX.LIB jest utworzona w formacie COFF. Format ten jest uzywany np. w Visual C. Do Buildera potrzebujesz biblioteki w formacie OMF. Sa dwa wyjscia - poszukaj w necie tego lib-a w formacie omf, lub mozna stworzyc taka biblioteke przy pomocy implib.exe, ktory tworzy ja na podstawie dll-a. Niestety nigdy nie bawilem sie implib-em, wiec musisz w necie poszukac instrukcji.
Wlasnie znalazlem jeden adres, jezeli uda ci sie stad cos zrozumiec to bedziesz umial zrobic wlasna wersje lib-a:
http://lat.subscribe.ru/archive/tech.electronic1/200303/22210135.html
Back to top
   
praw
Poziom 14
Poziom 14


Joined: 16 Oct 2003
Posts: 183
Location: Gdańśk

Post#3 05 Aug 2004 08:15   

Re: FTDI USB<=>RS232 i c++ builer


wystarczu przeczytac help do impliba - wszystko ladnie wyjasnione - i nie ma z tym zadnym problemow.

pozdrawiam
Back to top
   
mikee
Poziom 9
Poziom 9


Joined: 25 Mar 2003
Posts: 33
Location: Toruń

Post#4 Post from the author of the topic 05 Aug 2004 21:52   

Re: FTDI USB<=>RS232 i c++ builer


Witam,
Stosujac sie do powyrzszych zaleceń udało sie pozbyc problem. Wszystko kompiluje sie gładko:). I za to wielkie dzieki!!!

Jednak pojawiaja sie kolejne pytania:
1. czy to normalne ze usuwajac linie

extern "C" __declspec(dllimport) FT_STATUS WINAPI FT_ListDevices(
PVOID pArg1,
PVOID pArg2,
DWORD Flags
);

...program prawidłowo sie kompiluje???

2. Dlaczego nie jest wykrywany moduł FTDI, mimo iz jest podłaczony do kompa (probuje uzyskac jakies informacje o podłaczonym module zgodnie z zgodnie z instrukcja w helpie - patrz program wyzej)

Moze pytania sa smieszne co dla niektórych, ale mi one spedzaja sen z powiek :( Prosze o pomoc
Z gory dzieki
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 05 Aug 2004 21:52   





Back to top
   
-raj-
Poziom 6
Poziom 6


Joined: 03 Aug 2004
Posts: 16
Location: Gdańsk

Post#5 05 Aug 2004 22:38   

Re: FTDI USB<=>RS232 i c++ builer


Hej

Odp. 1:
Tego nie jestem pewny, ale moze juz w pliku naglowkowym do tej biblioteki jest deklaracja tej funkcji??

Odp. 2:
Jezeli wyslales tu caly kod programu, to wydaje mi sie, ze przed wywolaniem funkcji FT_GetDeviceInfo powinienes uzyskac uchwyt ftHandle do urzadzenia. Jak widac w komentarzu przy deklaracji uchwytu:
"FT_HANDLE ftHandle; // valid handle returned from FT_OpenEx ", powinienes uzyc do tego celu funkcji FT_OpenEx.
Back to top
   
loks
Poziom 11
Poziom 11


Joined: 05 Aug 2004
Posts: 76
Location: Gdańsk

Post#6 27 Oct 2005 06:55   

Re: FTDI USB<=>RS232 i c++ builer


Witam,
Mam ten sam problem co kolega mikee. Pojawia mi sie następujący error:
Linker Error] Unresolved external 'FT_Open' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\MOJE PROJEKTY\OBSLUGA_FTDI\UNIT1.OBJ
Próbowałem użyć implib.exe, ale bez rezultatu. Rosyjskiego nie znam, próbowałem czytać link do rosyjskiej strony i zrobiłem to w ten sposób:
- skopiowałem z archiwum pliki FTD2XX.h i FTD2XX.dll do katalogu w którym będzie program w C++ Builder 6,
- skopiwałem do katalogu plik implib.exe
- w wierszu poleceń użyłem implib.exe w następujący sposób:
implib FTD2XX.lib FTD2XX.dll (wyglądało, że nie ma błędów),
- dołączyłem plik nagłówkowy FTD2XX.h do programu w C++ Builder.
Wiem, że trzeba użyć komendy USELIB('FTD2XX.lib'), ale nie wiem w którym miejscu.
W zwiazku tym pytanie: gdzie robię błąd? Może ktoś już ma zrobiony ten plik w odpowiednim formacie.
Pozdrawiam,
Łukasz
Back to top
   
Google

Google Adsense


Post# 27 Oct 2005 06:55   





Back to top
   
krzychoo_soft
Poziom 15
Poziom 15


Joined: 20 Jan 2004
Posts: 217
Location: Lubuskie

Post#7 07 Mar 2006 01:27   

Re: FTDI USB<=>RS232 i c++ builer


loks wrote:

Wiem, że trzeba użyć komendy USELIB('FTD2XX.lib'), ale nie wiem w którym miejscu.


w menu "project" (o ile dobrze pamiętam) jest opcja "add to project...", odpal to, dodaj plik *.lib, zapisz projekt i przekompiluj.
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> FTDI USB<=>RS232 i c++ builer
Page 1 of 1
Similar topics
FTDI FT232RL detekcja podłączonego usb... (3)
który ftdi wykorzystać? [usb][avr] (2)
[USB][FTDI FT245BL] sposób podłączenia (7)
[ATmega16 + FTDI] Płytka testowa, czy uszkodzone FTDI ? (3)
RS232 układ FTDI zmiana prędkości transmisji. (1)
Jak działa FT232BM (USB/RS232 - FTDI) i VCP ? (3)
Przejściówka USB->RS232[FTDI] => obsługa w C [linux] (1)
schemat konwertera usb->rs232 na FTDI (4)
FTDI RS232-> USB- prędkości??? (7)
Układy USB od FTDI - FT232BM a FT232RL (4)

Page generation time: 0.073 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed