AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Delphi 7, mit USB auf Cypress CY7C68013 FX2 zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 7, mit USB auf Cypress CY7C68013 FX2 zugreifen

Offene Frage von "jaenicke"
Ein Thema von max pack · begonnen am 14. Aug 2024 · letzter Beitrag vom 14. Feb 2025
Antwort Antwort
Seite 2 von 2     12   
max pack

Registriert seit: 29. Okt 2011
4 Beiträge
 
#11

AW: Delphi 7, mit USB auf Cypress CY7C68013 FX2 zugreifen

  Alt 13. Feb 2025, 15:22
An Administrator(en) von www.delphipraxis.net:

Bitte diesen (meinen) Beitrag (215656-delphi-7-mit-usb-auf-cypress-cy7c68013-fx2-zugreifen) seit 14.8.24 vollständig löschen aus diesem Forum.

Warum?
Es ist Nichts heraus gekommen und es meldet sich auch kein Wissender mehr. Mein Thema bleibt unbeantwortet. Nichts ist schlimmer, als falsch
oder unbeantwortete Forendiskussionen. Genau wie diese hier.
Der Ärger bei Interessierten, die durch Suchmaschinen hier landen, inkl. deren damit verbundenen Zeitverschwendung ist verantwortungslos.
Ich weiß wovon ich rede (betrifft NICHT uns hier): Unendlich viele Stunden bin ich schon in Foren mit vielversprechenden Titeln unterwegs gewesen
mit der Hoffnung, eine akzeptable Lösung zu finden. Nur um nach langer Zeit feststellen zu müssen, dass da nur nicht-funktionierender Code steht,
tote und/oder unbrauchbare Links, 1000ste Version von irgendeinem Copy&Paste-Müll und viel BlaBlaBla, was oft nicht einmal mehr etwas mit dem
eigentlichen Thema zu tu hat. Unnützes Zeugs ohne Lösung. Viele andere Foren sind damit schon komplett über-zugemüllt und kaum noch brauchbar.
Delphi-Praxis sollte (meiner Meinung nach) ein besseres Bild abgeben.

Deswegen: Ersatzlos weg mit diesem ganzen Beitrag, löschen und allen einen Gefallen tun und Vorbild sein.
Danke an alle Beteiligten und Gruß
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.784 Beiträge
 
Delphi 12 Athens
 
#12

AW: Delphi 7, mit USB auf Cypress CY7C68013 FX2 zugreifen

  Alt 14. Feb 2025, 01:20
Das Problem ist, dass es die Software für das Board offenbar nirgends mehr gibt. Das war die "Cypress Suite USB", die oben ja auch schon erwähnt wurde. Darin lag eine CyUSB.dll, die exportierte Funktionen hat, mit denen man Daten lesen und schreiben kann.

Eventuell bekommst du die Software noch hier:
https://gitcode.com/open-source-tool...top&type=card&

Wenn du die Software noch auftreiben kannst, könnte es so ca. gehen:
Delphi-Quellcode:
unit CyUSB;

interface

uses
  Windows, SysUtils;

const
  CyUSB_DLL = 'CyUSB.dll';

type
  // Funktionsdefinitionen aus der CyUSB.dll
  TOpenDevice = function(VendorID, ProductID: Word): Pointer; stdcall;
  TCloseDevice = procedure(Device: Pointer); stdcall;
  TWriteUSB = function(Device: Pointer; Endpoint: Byte; Buffer: Pointer; BufferSize: DWord): DWord; stdcall;
  TReadUSB = function(Device: Pointer; Endpoint: Byte; Buffer: Pointer; BufferSize: DWord): DWord; stdcall;

var
  OpenDevice: TOpenDevice;
  CloseDevice: TCloseDevice;
  WriteUSB: TWriteUSB;
  ReadUSB: TReadUSB;

procedure LoadCyUSB;
procedure UnloadCyUSB;

implementation

var
  DLLHandle: THandle;

procedure LoadCyUSB;
begin
  DLLHandle := LoadLibrary(CyUSB_DLL);
  if DLLHandle <> 0 then
  begin
    @OpenDevice := GetProcAddress(DLLHandle, 'OpenDevice');
    @CloseDevice := GetProcAddress(DLLHandle, 'CloseDevice');
    @WriteUSB := GetProcAddress(DLLHandle, 'WriteUSB');
    @ReadUSB := GetProcAddress(DLLHandle, 'ReadUSB');
  end;
end;

procedure UnloadCyUSB;
begin
  if DLLHandle <> 0 then
  begin
    FreeLibrary(DLLHandle);
    DLLHandle := 0;
  end;
end;

initialization
  LoadCyUSB;

finalization
  UnloadCyUSB;

end.
Verwenden:
Delphi-Quellcode:
program TestFX2USB;

uses
  Windows, SysUtils, CyUSB;

var
  FX2Device: Pointer;
  DataOut: array[0..63] of Byte;
  DataIn: array[0..63] of Byte;
  BytesWritten, BytesRead: DWord;

begin
  // 1. Gerät mit Vendor-ID und Product-ID öffnen
  FX2Device := OpenDevice($04B4, $1004); // Beispiel: Cypress Vendor-ID
  if FX2Device = nil then
  begin
    Writeln('FX2-Gerät nicht gefunden!');
    Exit;
  end;

  Writeln('FX2-Gerät verbunden!');

  // 2. Daten an FX2 senden (Bulk OUT auf Endpoint 0x02)
  FillChar(DataOut, SizeOf(DataOut), $A5); // Beispiel-Daten füllen
  BytesWritten := WriteUSB(FX2Device, $02, @DataOut, SizeOf(DataOut));
  Writeln('Bytes gesendet: ', BytesWritten);

  // 3. Daten vom FX2 lesen (Bulk IN von Endpoint 0x86)
  BytesRead := ReadUSB(FX2Device, $86, @DataIn, SizeOf(DataIn));
  Writeln('Bytes empfangen: ', BytesRead);

  // 4. Gerät schließen
  CloseDevice(FX2Device);
  Writeln('Verbindung geschlossen.');
end.
Es gibt noch das EZ-USB™ FX3 Software Development Kit, aber ob diese aktuellere Software mit der alten Hardware funktioniert und genauso ansteuerbar ist, weiß ich nicht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz