Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.01.2010, 22:55   #1
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию чтение данных (D2XX)

вопрос опять же скорее к raxp но может еще кто волокет.
мне необходимо читать данные из ftdi. сейчас я могу посылать и получать корректные ответы но вижу их только с помощью сниффера и по характерному миганию светодиодов тх и рх. подскажите при помощи какой функции d2xx можно это осуществить и как?
fize вне форума
Старый 11.01.2010, 23:03   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

давайте вам лучше скину свой проект чтения EEPROM-ки 93C46 через FTDI... усе рабочее, уберете протокол spi только, добавите свое сами.
...единственно, мы пользуемся немножко разными версиями либы, хэдеры мои будут отличаться от ваших (глянул по вашим прошлым темам).
Вложения
Тип файла: zip raxp_spi.zip (35.6 Кб, 57 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 11.01.2010 в 23:07.
raxp вне форума
Старый 11.01.2010, 23:32   #3
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

как я понял вы использовали функцию FT_In_Buffer? т.е при таком использовании FT_In_Buffer[J] в переменной J будут находится принимаемые данные?
fize вне форума
Старый 11.01.2010, 23:45   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

FT_In_Buffer это не функция, это и есть набор данных (массив)... а функция, гляньте-ка модуль хэдеров <d2xxunit>, Read_USB_Device_Buffer(кол-во байт).

upd
-------

Цитата:
...вы это имели ввиду? что то я совсем запутался.
именно так, гляньте в проекте...
Код:
...
//======================================================================
repeat
res := Get_USB_Device_QueueStatus;
IF (FT_Q_Bytes > 0) then
  begin
  i := Read_USB_Device_Buffer(FT_Q_Bytes); // тут наполняется буфер FT_In_Buffer 
  end;
until (FT_Q_Bytes > 0);
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 11.01.2010 в 23:56.
raxp вне форума
Старый 11.01.2010, 23:51   #5
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Function Read_USB_Device_Buffer(Read_Count:I nteger) : Integer; - вы это имели ввиду? что то я совсем запутался.
fize вне форума
Старый 12.01.2010, 00:04   #6
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
i := Read_USB_Device_Buffer(FT_Q_Bytes); // тут наполняется буфер FT_In_Buffer
значит в переменной i будут находится полученные от уст-ва данные? если да то как их вывести в мемо?

Последний раз редактировалось fize; 12.01.2010 в 00:06.
fize вне форума
Старый 12.01.2010, 00:13   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

нет, в переменной <i> будет находиться кол-во принятых байт... почему вы не смотрите реализацию функции Read_USB_Device_Buffer в модуле <d2xxunit>?
Код:
...
function Read_USB_Device_Buffer( Read_Count : Integer ) : Integer;
// Reads Read_Count Bytes ( or less ) from the USB device to the FT_In_Buffer
// Function returns the number of bytes actually received  which may range from zero
// to the actual number of bytes requested, depending on how many have been received
// at the time of the request + the read timeout value.

Var Read_Result : Integer;
Begin

if (read_count = 1) then
  begin
  read_result := read_count;
  end;
FT_IO_Status := FT_Read(FT_Handle,@FT_In_Buffer,Read_Count,@Read_Result);
If FT_IO_Status <> FT_OK then FT_Error_Report('FT_Read',FT_IO_Status);
Result := Read_Result;
End;
по-сути мы работаем с библиотекой через вот это..
Код:
function FT_Read(ftHandle:Dword; FTInBuf : Pointer; BufferSize : LongInt; ResultPtr : Pointer ) : FT_Result ; stdcall ; External FT_DLL_Name name 'FT_Read';
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума
Старый 12.01.2010, 00:20   #8
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

ага. проясняется. т.е допустим устройство передает данные вида 54 1F 47 7A 98 получается что в переменной i будет находится число 5? (5 байт) но мне нужно выводить в мемо (точнее предварительно обработать но это я уже сам главное вывести) сами данные 54 1F 47 7A 98.
fize вне форума
Старый 12.01.2010, 00:27   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ваши данные будут в массиве FT_In_Buffer (см. пост #4)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума
Старый 12.01.2010, 00:36   #10
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

это может выглядеть примерно так?-
Цитата:
procedure read
var
i:integer;
s:string;
begin
i := Read_USB_Device_Buffer(FT_Q_Bytes);
FT_In_Buffer:=s;
memo1.lines.add(s);
fize вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь с D2XX fize Помощь студентам 18 09.01.2010 17:45
Чтение данных из программы по интернету Bil Работа с сетью в Delphi 3 21.04.2009 14:47
Чтение данных из файла в С++ Zaya007 Помощь студентам 9 17.03.2009 21:00
Чтение данных из памяти процесса (need help) lexastik Win Api 10 26.02.2009 20:50
Чтение данных Satorin Общие вопросы Delphi 1 18.12.2008 22:10