Datasheet
You may use bitwise and to form config byte out of these values. For example:
init := CANSPI_CONFIG_SAMPLE_THRICE and
CANSPI_CONFIG_PHSEG2_PRG_ON and
CANSPI_CONFIG_STD_MSG and
CANSPI_CONFIG_DBL_BUFFER_ON and
CANSPI_CONFIG_VALID_XTD_MSG and
CANSPI_CONFIG_LINE_FILTER_OFF;
...
CANSPIInitialize(1, 1, 3, 3, 1, init); // initialize CANSPI
CANSPI_TX_MSG_FLAGS
CANSPI_TX_MSG_FLAGS are flags related to transmission of a CAN message:
const
CANSPI_TX_PRIORITY_BITS = 0x03;
CANSPI_TX_PRIORITY_0 = 0xFC; // XXXXXX00
CANSPI_TX_PRIORITY_1 = 0xFD; // XXXXXX01
CANSPI_TX_PRIORITY_2 = 0xFE; // XXXXXX10
CANSPI_TX_PRIORITY_3 = 0xFF; // XXXXXX11
CANSPI_TX_FRAME_BIT = 0x08;
CANSPI_TX_STD_FRAME = 0xFF; // XXXXX1XX
CANSPI_TX_XTD_FRAME = 0xF7; // XXXXX0XX
CANSPI_TX_RTR_BIT = 0x40;
CANSPI_TX_NO_RTR_FRAME = 0xFF; // X1XXXXXX
CANSPI_TX_RTR_FRAME = 0xBF; // X0XXXXXX
You may use bitwise and to adjust the appropriate flags. For example:
// form value to be used as sending message flag:
send_config := CANSPI_TX_PRIORITY_0 and
CANSPI_TX_XTD_FRAME and
CANSPI_TX_NO_RTR_FRAME;
...
CANSPIWrite(id, data, 1, send_config);
CANSPI_RX_MSG_FLAGS
CANSPI_RX_MSG_FLAGS are flags related to reception of CAN message. If a particu-
lar bit is set then corresponding meaning is TRUE or else it will be FALSE.
const
CANSPI_RX_FILTER_BITS = 0x07; // Use this to access filter bits
CANSPI_RX_FILTER_1 = 0x00;
197
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroPASCAL PRO for AVR
CHAPTER 6