Herunterladen Diese Seite drucken

Programmier-Beispiele; 7.1. Programmiersprache C/C; Windows-Betriebssysteme; Can Console-Anwendung C/C++ (Msvc) - Optelec ClearNote HD Bedienungsanleitung

Vorschau ausblenden Andere Handbücher für ClearNote HD:

Werbung

Kapitel 7. Programmier-Beispiele

7.1. Programmiersprache C/C++

Die AnaGate Programmier-API kann sowohl unter Windows-Systemen als auch unter
X86-Linux-Systemen verwendet werden. Alle über die API zur Verfügung gestellten
Funktionen sind Betriebssystem-unabhängig implementiert, so dass einmal erstellter
Source-Code auf beiden Betriebssystemen eingesetzt werden kann. Lediglich die
Einbindung der Bibliotheken muss auf unterschiedlich Betriebssystemen bzw. der
Einsatz von unterschiedlichen Compilern entsprechend angepasst werden.

Windows-Betriebssysteme

Für den Zugriff auf die Funktionen der API stehen für C/C++-Programmierer
prinzipiell zwei Möglichkeiten zur Verfügung:
• Beim direkten Zugriff auf die Bibliothek müssen die Funktionen durch
vorangehenden Aufrufe der Win32-Methoden LoadLibrary und GetProcAddress
bekanntgemacht werden.
• Der Zugriff kann auch alternativ über eine sog. Import-Bibliothek erfolgen.
Hierbei wird das Laden der DLL und der DLL-Methoden über die Import-Bibliothek
automatisch durchgeführt.
Die Import-Bibliotheken für MS VC8 sind im Lieferumfang enthalten und können
direkt verwendet werden, so lautet die Importbibliothek von AnaGateCAN.dll z.B.
AnaGateCANDll.lib.
In den folgenden Beispielen wird davon ausgegangen, dass die zweite Möglichkeit
verwendet und die jeweilige Import-Bibliothek zum Beispiel-Programm gebunden
wird.

7.1.1. CAN Console-Anwendung C/C++ (MSVC)

Das folgende Programmierbeispiel für C++ zeigt, wie eine Verbindung mit dem
AnaGate CAN aufgebaut wird und wie über eine Callback-Funktion empfangene CAN-
Telegramme verarbeitet werden können.
Anmerkung
Der vollständige Quellcode des vorliegenden Beispiels ist auf der jedem
Gerät beiliegenden CD-ROM im Verzeichnispfad Samples/CAN-VC6 bzw.
Samples/CAN-VC7 zu finden.
#include <AnaGateDllCan.h>
WINAPI void MyCallback(AnaInt32 nIdentifier, const char * pcBuffer,
{
std::cout << "CAN-ID=" << nIdentifier << ", Data=";
for ( AnaInt32 i = 0; i < nBufLen; i++ )
AnaInt32 nBufLen, AnaInt32 nFlags, AnaInt32 nHandle)
80
© 2007-2015 Analytica GmbH

Werbung

loading