Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich versuche derzeit mittels eines CAN USB Umsetzers, Daten auszulesen.
Bisher ist es mir leider nur gelungen, die Daten aus dem Empfangspuffers des CAN Controllers durch zyklisches Polling auszulesen, was für spätere Anwendung sehr unvorteilhaft ist.
Nun wollte ich versuchen, über die Funktion CAN_SetValue einen Parameter zu setzen, um ein handle auszulösen, welches Eintritt sobald eine Nachricht im Empfangspuffer eingeht.
Habe aber schon Schwierigkeiten bei der Deklaration des Typs TPCANParameter.
Handelt es sich hierbei um ein Array mit 21*8bit Feldern?
Wenn ja, wie setze ich Parameter um das handle zu erzeugen?
Ich hoffe, ihr könnt mir weiterhelfen.
-----------------------------------------------------
TPCANStatus __stdcall CAN_SetValue(
TPCANHandle Channel,
TPCANParameter Parameter,
void* Buffer,
WORD BufferLength
);
-----------------------------------------------------
Parameter Beschreibung
Channel Das handle für einen PCAN Kanal (siehe TPCANHandle).
Parameter Der Code für die zu lesende Information (siehe TPCANParameter).
Buffer Der Puffer für den zu schreibenden Wert.
BufferLength Die Grösse des Puffers (in bytes).
ich versuche derzeit mittels eines CAN USB Umsetzers, Daten auszulesen.
Bisher ist es mir leider nur gelungen, die Daten aus dem Empfangspuffers des CAN Controllers durch zyklisches Polling auszulesen, was für spätere Anwendung sehr unvorteilhaft ist.
Nun wollte ich versuchen, über die Funktion CAN_SetValue einen Parameter zu setzen, um ein handle auszulösen, welches Eintritt sobald eine Nachricht im Empfangspuffer eingeht.
Habe aber schon Schwierigkeiten bei der Deklaration des Typs TPCANParameter.
Handelt es sich hierbei um ein Array mit 21*8bit Feldern?
Wenn ja, wie setze ich Parameter um das handle zu erzeugen?
Ich hoffe, ihr könnt mir weiterhelfen.
-----------------------------------------------------
TPCANStatus __stdcall CAN_SetValue(
TPCANHandle Channel,
TPCANParameter Parameter,
void* Buffer,
WORD BufferLength
);
-----------------------------------------------------
Parameter Beschreibung
Channel Das handle für einen PCAN Kanal (siehe TPCANHandle).
Parameter Der Code für die zu lesende Information (siehe TPCANParameter).
Buffer Der Puffer für den zu schreibenden Wert.
BufferLength Die Grösse des Puffers (in bytes).
TPCanParameter ist NICHT ein Array mit 21 bytes sondern ein Byte mit 21 möglichen Werten. Für die Call Library Node ist das einfach ein (u)int8 und in LabVIEW käme es am meisten einem Enum nahe.
Aber das sieht irgendwie nach Callback aus, und dürfte dann spätestens beim Empfangen dieses Events mit nur LabVIEW Mitteln voll schief gehen.
TPCanParameter ist NICHT ein Array mit 21 bytes sondern ein Byte mit 21 möglichen Werten. Für die Call Library Node ist das einfach ein (u)int8 und in LabVIEW käme es am meisten einem Enum nahe.
Aber das sieht irgendwie nach Callback aus, und dürfte dann spätestens beim Empfangen dieses Events mit nur LabVIEW Mitteln voll schief gehen.
[/quote]
Vielen Dank für deine Hilfe!
Hab es hinbekommen
Musste noch eine WinAPI miteinbinden und kann nun das "handle" pollen.