can.h-Dateireferenz

Header-Datei für das allgemeine CAN Interface. Mehr ...

#include <avr/pgmspace.h>
#include <stdint.h>
#include <stdbool.h>
#include "config.h"
Include-Abhängigkeitsdiagramm für can.h:
Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  can_t
 Datenstruktur zum Aufnehmen von CAN Nachrichten. Mehr ...
struct  can_filter_t
 Datenstruktur zur Aufnahme von CAN-Filtern. Mehr ...
struct  can_error_register_t
 Inhalt der Fehler-Register. Mehr ...

Makrodefinitionen

#define CAN_ALL_FILTER   0xff
 Symbol um auf alle Filter zuzugreifen.
Bitdefinitionen

#define ONLY_NON_RTR   2
#define ONLY_RTR   3
Bits des Filters fuer den MCP2515 umformatieren

Unterstuetzung fuer Extended-IDs aktivieren

Unterstützung für Zeitstempel aktivieren

Warnung:
Wird nur vom AT90CANxxx unterstützt
  prog_uint8_t can_filter[] =
  {
    MCP2515_FILTER_EXTENDED(0), // Filter 0
    MCP2515_FILTER_EXTENDED(0), // Filter 1
    
    MCP2515_FILTER_EXTENDED(0), // Filter 2
    MCP2515_FILTER_EXTENDED(0), // Filter 3
    MCP2515_FILTER_EXTENDED(0), // Filter 4
    MCP2515_FILTER_EXTENDED(0), // Filter 5
    
    MCP2515_FILTER_EXTENDED(0), // Maske 0
    MCP2515_FILTER_EXTENDED(0), // Maske 1
  };
Siehe auch:
can_static_filter()
Warnung:
Dieses Makro sollte nur Werte verwendet die schon zur Compile-Zeit bekannt sind. Der Code sollte ansonsten zwar trotzdem funktionieren, wird danner aber sehr groß.
#define MCP2515_FILTER_EXTENDED(id)
#define MCP2515_FILTER(id)

Aufzählungen

enum  can_bitrate_t {
  BITRATE_10_KBPS = 0, BITRATE_20_KBPS = 1, BITRATE_50_KBPS = 2, BITRATE_100_KBPS = 3,
  BITRATE_125_KBPS = 4, BITRATE_250_KBPS = 5, BITRATE_500_KBPS = 6, BITRATE_1_MBPS = 7
}
 

Bitraten fuer den CAN-Bus.


enum  can_mode_t { LISTEN_ONLY_MODE, LOOPBACK_MODE, NORMAL_MODE, SLEEP_MODE }
 

Modus des CAN Interfaces.

Mehr ...

Funktionen

bool can_init (can_bitrate_t bitrate)
 Initialisierung des CAN Interfaces.
void can_sleep (void)
void can_wakeup (void)
bool can_set_filter (uint8_t number, const can_filter_t *filter)
 Setzen eines Filters.
bool can_disable_filter (uint8_t number)
 Filter deaktivieren.
void can_static_filter (const prog_uint8_t *filter_array)
 Setzt die Werte für alle Filter.
uint8_t can_get_filter (uint8_t number, can_filter_t *filter)
 Filterdaten auslesen.
bool can_check_message (void)
 Ueberpruefen ob neue CAN Nachrichten vorhanden sind.
bool can_check_free_buffer (void)
 Ueberprueft ob ein Puffer zum Versenden einer Nachricht frei ist.
uint8_t can_send_message (const can_t *msg)
 Verschickt eine Nachricht über den CAN Bus.
uint8_t can_get_message (can_t *msg)
 Liest eine Nachricht aus den Empfangspuffern des CAN Controllers.
can_error_register_t can_read_error_register (void)
 Liest den Inhalt der Fehler-Register.
bool can_check_bus_off (void)
 Überprüft ob der CAN Controller im Bus-Off-Status.
void can_reset_bus_off (void)
 Setzt einen Bus-Off Status zurück und schaltet den CAN Controller wieder aktiv.
void can_set_mode (can_mode_t mode)
 Setzt den Operations-Modus.

Ausführliche Beschreibung

Header-Datei für das allgemeine CAN Interface.

Definiert in Datei can.h.

Erzeugt am Thu Aug 19 22:03:52 2010 für RCA CAN Library von  doxygen 1.6.3