Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.10.2015, 12:23
OSIRIS OSIRIS вне форума
Прохожий
 
Регистрация: 04.01.2008
Сообщения: 11
Репутация: 10
По умолчанию работа с библиотекой LibFT4222.dll

собственно работаю через данную библиотеку с ft4222EV (мост USB-SPI)
все функции работают кроме одной, на ней просто зависает наглухо

из описания библиотеки:

FT4222_STATUS FT4222_SPIMaster_SingleReadWrite(FT_HANDLE ftHandle, uint8* readBuffer, uint8* writeBuffer, uint16 sizeToTransfer, uint16* sizeTransferred, BOOL isEndTransaction)

из моей программы:
Код:
Const
FT_DLL_Name4222 = 'LibFT4222.dll';

Type
FT_Result = Integer;
TValue=integer;
PSPI_BUFF=^string;
psizeTransferred=^integer;
pValue=^TValue;

function ft4222_SPI_send_read(ftHandle:Dword; readBuffer,writeBuffer :PSPI_BUFF; sizeToTransfer : integer; sizeTransferred : psizeTransferred; isEndTransaction : boolean) : FT_Result ; stdcall ; External FT_DLL_Name4222 name 'FT4222_SPIMaster_SingleReadWrite';

Function SPI_send_read(Serial_Number : string; read_data,send_data:PSPI_BUFF; sizeToTransfer:integer;sizeTransferred:psizeTransferred) :  FT_Result;

Function SPI_send_read(Serial_Number : string; read_data,send_data: PSPI_BUFF;sizeToTransfer:integer;sizeTransferred:psizeTransferred) :  FT_Result;
var
i:integer;
begin
i:=10;
Result := ft4222_SPI_send_read(FT_Handle,read_data, send_data, sizeToTransfer, sizeTransferred,true);
i:=sizeTransferred^;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
i,k,l:integer;
rx,tx:PSPI_BUFF;
rxs,txs:string;
sizeTransferred:psizeTransferred;
begin
txs:='1';
k:=length(txs);
rx:=@rxs;
tx:=@txs;
sizeTransferred:=@l;
i:=SPI_send_read(serial,rx,tx,k,sizeTransferred);//вот тут либо виснет либо по указателю sizeTransferred выдает что то нереальное, но чаще виснет на корню
form1.Memo1.Lines.Add(rxs);
I:=sizeTransferred^;
form1.Memo1.Lines.Add(inttostr(i));
end;

если напутал с разделом - извиняюсь
библиотеку можно либо в нете найти либо могу ссылку скинуть как и на исходник целиком
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025