Mikroelektronika MIKROE-742 데이터 시트
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;
CANSPI_TX_STD_FRAME = 0xFF;
// XXXXX1XX
CANSPI_TX_XTD_FRAME = 0xF7;
// XXXXX0XX
CANSPI_TX_RTR_BIT = 0x40;
CANSPI_TX_NO_RTR_FRAME = 0xFF;
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