Microchip® Advanced Software Framework

sam/drivers/can/example/example.c File Reference

CAN example for SAM.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include "asf.h"

Macros

#define CAN_COMM_RXMB_ID   0
 
#define CAN_COMM_TXMB_ID   1
 
#define CAN_MSG_DUMMY_DATA   0x55AAAA55u
 
#define CAN_TRANSFER_ID   7
 
#define CAN_TX_PRIO   15
 
#define MAX_CAN_FRAME_DATA_LEN   8
 CAN frame max data length. More...
 
#define STRING_EOL   "\r"
 
#define STRING_HEADER
 

Functions

void CAN1_Handler (void)
 Default interrupt handler for CAN 1. More...
 
static void configure_console (void)
 Configure UART for debug message output. More...
 
static void decode_can_msg (can_mb_conf_t *p_mailbox)
 Decode CAN messages. More...
 
int main (void)
 can_example application entry point. More...
 
static void reset_mailbox_conf (can_mb_conf_t *p_mailbox)
 Reset mailbox configure structure. More...
 

Variables

volatile uint32_t g_ul_recv_status = 0
 Receive status. More...
 
can_mb_conf_t rx_mailbox
 
can_mb_conf_t tx_mailbox
 Transfer mailbox structure. More...
 

#define CAN_COMM_RXMB_ID   0

Referenced by main().

#define CAN_COMM_TXMB_ID   1

Referenced by main().

#define CAN_MSG_DUMMY_DATA   0x55AAAA55u

Referenced by decode_can_msg(), and main().

#define CAN_TRANSFER_ID   7

Referenced by main().

#define CAN_TX_PRIO   15

Referenced by main().

#define MAX_CAN_FRAME_DATA_LEN   8

CAN frame max data length.

Referenced by main().

#define STRING_EOL   "\r"

Referenced by main().

#define STRING_HEADER
Value:
"-- CAN Example --\r\n" \
"-- "BOARD_NAME" --\r\n" \
"-- Compiled: "__DATE__" "__TIME__" --"STRING_EOL
#define BOARD_NAME
Definition: app_init.h:140
#define STRING_EOL
Definition: sam/drivers/can/example/example.c:82

Referenced by main().

void CAN1_Handler ( void  )

Default interrupt handler for CAN 1.

References can_mailbox_get_status(), can_mailbox_read(), g_ul_recv_status, and can_mb_conf_t::ul_status.

static void configure_console ( void  )
static

Configure UART for debug message output.

References uart_rs232_options::baudrate, stdio_serial_init(), and sysclk_enable_peripheral_clock().

Referenced by main().

static void decode_can_msg ( can_mb_conf_t p_mailbox)
static

Decode CAN messages.

Parameters
p_mailboxPointer to CAN Mailbox structure.

References CAN_MSG_DUMMY_DATA, can_mb_conf_t::ul_datah, and can_mb_conf_t::ul_datal.

Referenced by main().

static void reset_mailbox_conf ( can_mb_conf_t p_mailbox)
static

volatile uint32_t g_ul_recv_status = 0

Receive status.

can_mb_conf_t rx_mailbox
can_mb_conf_t tx_mailbox

Transfer mailbox structure.