CANSetMaxSizePerQueue
CANSetMaxSizePerQueue — Setzt die maximale Größe des Empfangspuffers, der
empfangene CAN-Telegramme zwischenspeichert.
Syntax
#include <AnaGateDllCan.h>
AnaInt32 CANSetMaxSizePerQueue(AnaInt32 hHandle, AnaUInt32 nMaxSize);
Parameter
hHandle
nMaxSize
Rückgabewert
Die Funktion gibt im Erfolgsfall Null zurück, andernfalls einen Fehlercode (Anhang A,
Rückgabewerte aus den API-Funktionen ).
Beschreibung
Setzt die maximale Größe des Empfangspuffers, der empfangene CAN-Telegramme
zwischenspeichert. Empfangene Telegramme werden nicht gepuffert, bevor
diese Funktion aufgerufen wurde. Nachdem empfangene Telegramme im Puffer
gespeichert wurden, können diese mit CANGetMessage ausgelesen werden. Falls der
Puffer voll ist, während ein neues Telegramm eintrifft, wird dieses verworfen.
Falls die Größe des Empfangspuffers auf 0 gesetzt wird, werden alle zuvor
empfangenen Telegramme aus dem Puffer gelöscht. Wird die Größe jedoch auf
einen Wert ungleich 0 reduziert, werden überschüssige Telegramme nicht verworfen.
Stattdessen werden so lange keine neu empfangenen Telegramme gespeichert, bis
genügend viele Einträge mittels CANGetMessage entfernt wurden, um Platz für neue
Nachrichten zu schaffen, oder bis die Maximalgröße wieder erhöht wird.
Im folgenden ein Programmier-Beispiel, das die Größe des Empfangspuffers setzt.
#include <AnaGateDllCan.h>
int main()
{
AnaInt32 hHandle;
AnaInt32 nRC = CANOpenDevice(&hHandle, TRUE, TRUE, 0, "192.168.1.254", 5000);
if ( nRC == 0 )
{
nRC = CANSetMaxSizePerQueue( hHandle, 1000 );
// ... now do something
CANCloseDevice(hHandle);
}
return 0;
}
CAN API Funktionen
Gültiges Zugriffs-Handle eines erfolgreichen Aufrufs von CANOpenDevice.
Maximale Größe des Empfangspuffers.
30
© 2007-2015 Analytica GmbH