Table of Contents

CAN-Funktionen

The can_t structure

Auf CAN Kommunikation zwischen den benutzten CAN Boards kann (auf Programmierebene) mit Hilfe einer Struktur namens can_t zugegriffen werden, welche in “can.h” definiert wird. Die Struktur can_t besteht aus Variablen die geschrieben werden können um eine Meldung auf das Senden vorzubereiten oder gelesen werden können um eine empfangene Meldung zu verarbeiten. Hier ist Übersicht über die Variablen dieser Struktur

Structure  can_t:
 
	uint32_t        id: //  message  ID
 
	struct flags
	int rtr: //  remote-transmit-request-frame
	int extended: //  extended  ID  ?
 
	uint8_t length: //  number  of  data  bytes
	uint8_t data[8]: //  message  data

Funktionen für CAN Kommunikation

Die Headerdatei “can.h” gibt verschiedene Funktionen an die notwendig für die CAN Kommunikation sind. Die CAN Bibliothek ist Open Source. Die folgenen Funktionen sind ausreichend für einfache Kommunikation:

Initialisieren des CAN Interfaces, setzen der Baud-Rate:

extern    bool can_init(can_bitrate_t  bitrate);
 
//  Check  if  a  CAN  message  has  been  received  (function  returns  TRUE  or  FALSE):
 
extern    bool can_check_message(void);
 
//  Retrieving  a  message  out  of  the  receive  buffers  of  the  CAN  controller:
 
extern    uint8_t      can_get_message(can_t  *msg);
 
//  Sending  a  message  over  the  CAN  Bus:
 
extern    uint8_t      can_send_message(const  can_t  *msg);