Einzelnen Beitrag anzeigen

Metschu

Registriert seit: 31. Dez 2006
151 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Unterstüzung bei Codeübertragung C->Delphi

  Alt 4. Sep 2014, 07:28
Hallo zusammen,

zur Kommunikation mit einem USB-CAN Modul bräuchte ich ein klein wenig Unterstützung bei der Codeübersetzung.
Senden - Empfangen auf dem CAN-Bus klappt ohne Probleme, nun möchte ich noch die Hardware-Infos aus dem Modul auslesen, bzw das was ich schon auslesen konnte "lesbar" machen.


Hier mal der Codeausschnitt:
Code:
typedef struct
{
DWORD m_dwSize; // Anzahl der Bytes dieser
// Struktur
tUcanHandle m_UcanHandle; // USB-CAN-Handle
BYTE m_bDeviceNr; // Gerätenummer
DWORD m_dwSerialNr; // Seriennummer
DWORD m_dwFwVersionEx; // Firmware Version
DWORD m_dwProductCode; // Hardware-Typ
} tUcanHardwareInfoEx;

UCANRET bRet;
tUcanHandle UcanHandle;
tUcanHardwareInfoEx HwInfoEx;
...
// USB-CANmodul initialisieren
bRet = UcanInitHardware (&UcanHandle, USBCAN_ANY_MODULE, NULL);
if (bRet == USBCAN_SUCCESSFUL)
{
memset (&HwInfoEx, 0, sizeof (HwInfoEx));
HwInfoEx.m_dwSize = sizeof (HwInfoEx);
// erweiterte Hardwareinformationen holen
bRet = UcanGetHardwareInfoEx2 (UcanHandle, &HwInfoEx,
NULL, NULL);
if (bRet == USBCAN_SUCCESSFUL)
{
TRACE1 ("product code = 0x%04X\n",                               // <-- hier wird der ausgelesene Wert umgewandelt
HwInfoEx->m_dwProductCode & USBCAN_PRODCODE_MASK_PID);
// prüfen, ob zwei CAN-Kanäle zur Verfügung stehen
if (USBCAN_CHECK_SUPPORT_TWO_CHANNEL (&HwInfoEx))
{
...
}
...
}
...
Wie wird "TRACE1 ("product code = 0x%04X\n", HwInfoEx->m_dwProductCode & USBCAN_PRODCODE_MASK_PID);" nach Delphi übersetzt?

Hier meine Variablenstrucktur / Code in Delphi:

Delphi-Quellcode:
type THardwareInfoVar = packed Record
 Size : longWORD;
 thd : thandle;
 DeviceNr : byte;
 SerialNr : longWord;
 FwVersionEx : longWord;
 ProductCode : longWord;
end;

Function tUSB_Kom.HWinfo;
var hwi : tHardWareInfoVar;

begin
 fCode:=HardWareInfo(modul,hwi,NIL,NIL);

 ... // hier fehlt mir die Umwandlung aus C :(
end;
Danke schonmal für die Hilfe!

Gruß

Torsten
Torsten
  Mit Zitat antworten Zitat