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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2010, 02:53   #1
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию нужна помощь с D2XX

вопрос скорее к rapx но кто знает помогите.
форма-
Код:
FT_Out_Buffer[0] := $41;
ReadWrite(1,$20,$7D0);
t:='Text : ';
For j := 0 to 31 Do
Begin
i:=ord(FT_In_Buffer[j]);
t:=t+Char(i);
end;
Form1.ListBox1.Items.Add(t);
D2XX-
Код:
// IO Buffer Sizes
    FT_In_Buffer_Size = $10000;    // 64k
    FT_In_Buffer_Index = FT_In_Buffer_Size - 1;
    FT_Out_Buffer_Size = $1000;    // 64k
    FT_Out_Buffer_Index = FT_Out_Buffer_Size - 1;
// DLL Name
    FT_DLL_Name = 'FTD2XX.DLL';


var
// Declare Input and Output Buffers
   FT_In_Buffer : Array[0..FT_In_Buffer_Index] of Byte;
   FT_Out_Buffer : Array[0..FT_Out_Buffer_Index] of Byte;
пытаюсь сюда FT_Out_Buffer[0] := $41; запихнуть 4C1D1D1F020D98 но ничего не выходит
fize вне форума Ответить с цитированием
Старый 08.01.2010, 03:58   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

не понял, у вас 4C1D1D1F020D98 - это одно число или набор данных, как 4C 1D 1D 1F 02 0D 98... и еще, вы устройство открыли (проинициализировали) FT_Open ? драйвер обнаружил устройство?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.01.2010, 04:04   #3
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

raxp да естественно открыто и обнаружено. все в порядке.
я сейчас поподробнее опишу что мне нужно т.к я незнаю это одно или набор.
Device open
Device inizializzato
===============================
Tx: 3F отправили
Rx(Str): bÏ
Rx(Hex): 62CF получили
===============================
Tx: 54
Rx(Str): OÑà
Rx(Hex): 4FD1E0
===============================
Tx: 56
Rx(Str): UFxBoot V2.2 (c) SarasSoft 2003.
Rx(Hex): 554678426F6F742056322E3220286329205 361726173536F66 7420323030332E
===============================
Tx: 53
Rx(Str): Ì.È
Rx(Hex): CC2EC8
===============================
Tx: 41
Rx(Str): UFS_USB V2.8 (c) SarasSoft 2007.
Rx(Hex): 5546535F5553422056322E3820286329205 361726173536F66 7420323030372E
===============================
Tx: 4C1D1D1F020D98 !!!!!!!отправили????
Rx(Str): >
Rx(Hex): 3E получили????
===============================
полный исходный код и тема на черном форуме http://forum.gsmhosting.com/vbb/show...=382372&page=2
но у меня получается отправлять только 2х значную комбинацию символов -10, 4F, 56, D4 и т.д
fize вне форума Ответить с цитированием
Старый 08.01.2010, 04:15   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

FT_Out_Buffer : Array[0..FT_Out_Buffer_Index] of Byte; - на тип данных обратили внимание?
Код:
 FT_Out_Buffer[0]:= $4C; // кто старший, гляньте по докам
 FT_Out_Buffer[1]:= $1D;
...
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

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

да конечно обратил.
Цитата:
FT_Out_Buffer[0]:= $4C; // кто старший, гляньте по докам
FT_Out_Buffer[1]:= $1D;
так тоже пробовал но отсыоается только первая строка и останавливается
fize вне форума Ответить с цитированием
Старый 08.01.2010, 09:58   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

приведите ваш код полностью, а не чужой код с "форума GSM" от 2007 года... лучше проектом во вложении.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.01.2010, 14:07   #7
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

извеняюсь за задержку. код во вложении
Вложения
Тип файла: zip Новая папка.zip (35.1 Кб, 16 просмотров)
fize вне форума Ответить с цитированием
Старый 08.01.2010, 16:06   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...смотрю-ю на проект и не нахожу отличий от исходника выложенного на GSM форуме, ну один в один , только имена подкорректировали... что сами-то делали?

...даю подсказку, обмен в загрузчике там идет с проверкой, это значит вам нужно наставить столько таких блоков после входа в загрузчик, сколько послать хотите...или по циклу:
Код:
 s:= '4C1D1D1F020D98'; // ваш набор
 for j:= 0 to length(s) div 2 -1 do begin // разбиваем на блоки
  //////////////////////////////////////////////
  FT_Out_Buffer[0]:= hextoint('$'+copy(s, j*2+1, 2)); // выделяем
  RW(1, $20, $7D0);
  t := '';
  For j:= 0 to 31 Do Begin
   i:= ord(FT_In_Buffer[j]);
   t:= t + Char(i);
  end;
  ListBox1.Items.Add(t)
 end;
///////////////////////////////////////////////////////
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.01.2010, 16:33   #9
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
t,s:string;
j:integer;
begin
s:= '4C1D1D1F020D98'; // âàø íàáîð
 for j:= 0 to length(s) div 2 -1 do begin // ðàçáèâàåì íà áëîêè
  //////////////////////////////////////////////
  FT_Out_Buffe[0]:= hextoint('$'+copy(s, j*2+1, 2)); // âûäåëÿåì
  RW(1, $20, $7D0);
  t := '';
  For j:= 0 to 31 Do Begin
   i:= ord(FT_In_Buffer[j]);
   t:= t + Char(i);
  end;
  ListBox1.Items.Add(t)
 end;
end;
делаю так предварительно дописав в type function HexToInt(s :string):integer;
For j:= 0 to 31 Do Begin на эту строку ругается
fize вне форума Ответить с цитированием
Старый 08.01.2010, 16:41   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Код:
function HexToInt(HexStr: string) : Int64;
 var RetVar: Int64;
     i: byte;
 begin
  HexStr:= UpperCase(HexStr);
  if HexStr[length(HexStr)] = 'H' then
   Delete(HexStr,length(HexStr),1);
  RetVar:= 0;
  for i:= 1 to length(HexStr) do begin
   RetVar:= RetVar shl 4;
   if HexStr[i] in ['0'..'9'] then RetVar:= RetVar + (byte(HexStr[i]) - 48)
    else if HexStr[i] in ['A'..'F'] then RetVar := RetVar + (byte(HexStr[i]) - 55)
     else begin
           Retvar := 0;
           break;
          end;
     end;
   Result:= RetVar
 end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# нужна помощь... Маринка777 Помощь студентам 0 29.11.2009 21:31
нужна помощь! s20 Общие вопросы C/C++ 0 19.10.2009 00:13
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12