allgemeines CAN Interface für AT90CAN32/64/128, MCP2515 und SJA1000 More...
Classes | |
struct | can_error_register_t |
Inhalt der Fehler-Register. More... | |
struct | can_filter_t |
Datenstruktur zur Aufnahme von CAN-Filtern. More... | |
struct | can_t |
Datenstruktur zum Aufnehmen von CAN Nachrichten. More... | |
Bitdefinitionen | |
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, 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. More... | |
#define | CAN_ALL_FILTER 0xff |
Symbol um auf alle Filter zuzugreifen. More... | |
#define | SUPPORT_EXTENDED_CANID 1 |
Unterstuetzung fuer Extended-IDs aktivieren. More... | |
#define | SUPPORT_TIMESTAMPS 0 |
Unterstützung für Zeitstempel aktivieren. More... | |
Bits des Filters fuer den MCP2515 umformatieren | |
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
};
| |
enum | can_mode_t { LISTEN_ONLY_MODE, LOOPBACK_MODE, NORMAL_MODE, SLEEP_MODE, LISTEN_ONLY_MODE, LOOPBACK_MODE, NORMAL_MODE, SLEEP_MODE } |
Modus des CAN Interfaces. More... | |
bool | can_init (can_bitrate_t bitrate) |
Initialisierung des CAN Interfaces. More... | |
void | can_sleep (void) |
Put CAN interface to sleep and wake up. More... | |
bool | can_set_filter (uint8_t number, const can_filter_t *filter) |
Setzen eines Filters. More... | |
bool | can_disable_filter (uint8_t number) |
Filter deaktivieren. More... | |
void | can_static_filter (const uint8_t *filter_array) |
Setzt die Werte für alle Filter. More... | |
uint8_t | can_get_filter (uint8_t number, can_filter_t *filter) |
bool | can_check_message (void) |
Ueberpruefen ob neue CAN Nachrichten vorhanden sind. More... | |
bool | can_check_free_buffer (void) |
Ueberprueft ob ein Puffer zum Versenden einer Nachricht frei ist. More... | |
uint8_t | can_send_message (const can_t *msg) |
Verschickt eine Nachricht über den CAN Bus. More... | |
uint8_t | can_get_message (can_t *msg) |
Liest eine Nachricht aus den Empfangspuffern des CAN Controllers. More... | |
can_error_register_t | can_read_error_register (void) |
Reads the Contents of the CAN Error Counter. More... | |
bool | can_check_bus_off (void) |
void | can_reset_bus_off (void) |
void | can_set_mode (can_mode_t mode) |
Setzt den Operations-Modus. More... | |
Bitdefinitionen | |
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, 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. More... | |
#define | CAN_ALL_FILTER 0xff |
Symbol um auf alle Filter zuzugreifen. More... | |
Bits des Filters fuer den MCP2515 umformatieren | |
Unterstuetzung fuer Extended-IDs aktivieren Unterstützung für Zeitstempel aktivieren
{
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
};
| |
enum | can_mode_t { LISTEN_ONLY_MODE, LOOPBACK_MODE, NORMAL_MODE, SLEEP_MODE, LISTEN_ONLY_MODE, LOOPBACK_MODE, NORMAL_MODE, SLEEP_MODE } |
Modus des CAN Interfaces. More... | |
allgemeines CAN Interface für AT90CAN32/64/128, MCP2515 und SJA1000
can_sleep() and can_wakeup() functions by Frédéric Lamorce.
#define CAN_ALL_FILTER 0xff |
Symbol um auf alle Filter zuzugreifen.
Definition at line 90 of file demo/can.h.
#define CAN_ALL_FILTER 0xff |
#define SUPPORT_EXTENDED_CANID 1 |
#define SUPPORT_TIMESTAMPS 0 |
enum can_bitrate_t |
Bitraten fuer den CAN-Bus.
Definition at line 75 of file demo/can.h.
enum can_bitrate_t |
enum can_mode_t |
Modus des CAN Interfaces.
Definition at line 259 of file demo/can.h.
enum can_mode_t |
Modus des CAN Interfaces.
bool can_check_bus_off | ( | void | ) |
bool can_check_free_buffer | ( | void | ) |
Ueberprueft ob ein Puffer zum Versenden einer Nachricht frei ist.
bool can_check_message | ( | void | ) |
Ueberpruefen ob neue CAN Nachrichten vorhanden sind.
bool can_disable_filter | ( | uint8_t | number | ) |
Filter deaktivieren.
number | Nummer des Filters der deaktiviert werden soll, 0xff deaktiviert alle Filter. |
uint8_t can_get_filter | ( | uint8_t | number, |
can_filter_t * | filter | ||
) |
uint8_t can_get_message | ( | can_t * | msg | ) |
Liest eine Nachricht aus den Empfangspuffern des CAN Controllers.
msg | Pointer auf die Nachricht die gelesen werden soll. |
bool can_init | ( | can_bitrate_t | bitrate | ) |
Initialisierung des CAN Interfaces.
bitrate | Gewuenschte Geschwindigkeit des CAN Interfaces |
can_error_register_t can_read_error_register | ( | void | ) |
Reads the Contents of the CAN Error Counter.
void can_reset_bus_off | ( | void | ) |
uint8_t can_send_message | ( | const can_t * | msg | ) |
Verschickt eine Nachricht über den CAN Bus.
msg | Nachricht die verschickt werden soll |
bool can_set_filter | ( | uint8_t | number, |
const can_filter_t * | filter | ||
) |
Setzen eines Filters.
Für einen MCP2515 sollte die Funktion can_static_filter() bevorzugt werden.
number | Position des Filters |
filter | zu setzender Filter |
void can_set_mode | ( | can_mode_t | mode | ) |
Setzt den Operations-Modus.
mode | Gewünschter Modus des CAN Controllers |
void can_sleep | ( | void | ) |
Put CAN interface to sleep and wake up.
MCP2515 active : 5mA MCP2515 sleep : 1µA
MCP2551 active : 10mA+ MCP2551 sleep : 400µA
void can_static_filter | ( | const uint8_t * | filter_array | ) |
Setzt die Werte für alle Filter.
*filter_array | Array im Flash des AVRs mit den Initialisierungs- werten für die Filter des MCP2515 |
*filter_array | Array im Flash des AVRs mit den Initialisierungs- werten für die Filter des MCP2515 |