Beschreibung
Beide Funktionen senden ein Datentelegramm auf den CAN-Bus.
Mit CANWriteEx kann zusätzlich der Zeitpunkt auf dem Gerät ermittelt werden, zu
dem das Telegramm tatsächlich versendet wurde.
Anmerkung
Mit Hilfe eines Remoteframes kann ein Teilnehmer einen anderen
auffordern, seine Daten zu senden. Die Datenlänge muss entsprechend
der zu erwartenden Datenlänge gesetzt werden, auf dem CAN-Bus selbst
werden dabei keine Daten versendet.
Bei Verwendung der Funktionen CANWrite bzw. CANWriteEx ist beim
Versenden von Remoteframes sowohl ein Datenpuffer als auch die Länge
des Puffers entsprechend der zu erwartenden Datenlänge anzugeben.
Im folgenden ein Programmier-Beispiel, das ein Datentelegramm auf den CAN-Bus
sendet.
#include <AnaGateDllCan.h>
int main()
{
char cMsg[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
AnaInt32 hHandle = 0;
AnaInt32 nRC = 0;
AnaInt32 nFlags = 0x0; //
AnaInt32 nIdentifier = 0x25; // send with CAN ID 0x25;
AnaInt32 nRC = CANOpenDevice(&hHandle, TRUE, TRUE, 0, "192.168.1.254", 5000);
if ( nRC == 0 )
{
// send 8 bytes with CAN ID 37
nRC = CANWrite( hHandle, nIdentifier, cMsg, 8, nFlags );
// send a remote frame to CAN ID 37 (request 4 data bytes)
nRC = CANWrite( hHandle, nIdentifier, cMsg, 4, 0x02 );
CANCloseDevice(hHandle);
}
return 0;
}
Bemerkung
Die Funktion CANWriteEx ist erst ab Version 1.4-1.8 der Laufzeitbibliothek
vorhanden.
Für Geräte vom Typ AnaGate CAN (Hardware-Version 1.1.A) ist die Funktion
CANWriteEx
pnMicroSeconds werden nicht gesetzt.
CAN API Funktionen
11bit address + standard (not remote frame)
mit
identisch.
CANWrite
Die
Rückgabewerte
27
© 2007-2015 Analytica GmbH
und
pnSeconds