![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() собственно работаю через данную библиотеку с 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; если напутал с разделом - извиняюсь библиотеку можно либо в нете найти либо могу ссылку скинуть как и на исходник целиком |