Datasheet
CANSPI_CONFIG_DBL_BUFFER_BIT as byte = $10
CANSPI_CONFIG_DBL_BUFFER_ON as byte = $FF ' XXX1XXXX
CANSPI_CONFIG_DBL_BUFFER_OFF as byte = $EF ' XXX0XXXX
CANSPI_CONFIG_MSG_BITS as byte = $60
CANSPI_CONFIG_ALL_MSG as byte = $FF ' X11XXXXX
CANSPI_CONFIG_VALID_XTD_MSG as byte = $DF ' X10XXXXX
CANSPI_CONFIG_VALID_STD_MSG as byte = $BF ' X01XXXXX
CANSPI_CONFIG_ALL_VALID_MSG as byte = $9F ' X00XXXXX
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
...
CANSPIInit(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 as byte = $03
CANSPI_TX_PRIORITY_0 as byte = $FC ' XXXXXX00
CANSPI_TX_PRIORITY_1 as byte = $FD ' XXXXXX01
CANSPI_TX_PRIORITY_2 as byte = $FE ' XXXXXX10
CANSPI_TX_PRIORITY_3 as byte = $FF ' XXXXXX11
CANSPI_TX_FRAME_BIT as byte = $08
CANSPI_TX_STD_FRAME as byte = $FF ' XXXXX1XX
CANSPI_TX_XTD_FRAME as byte = $F7 ' XXXXX0XX
CANSPI_TX_RTR_BIT as byte = $40
CANSPI_TX_NO_RTR_FRAME as byte = $FF ' X1XXXXXX
CANSPI_TX_RTR_FRAME as byte = $BF ' X0XXXXXX
You may use bitwise and to adjust the appropriate flags. For example:
' form value to be used with CANSendMessage:
send_config = CANSPI_TX_PRIORITY_0 and
CANSPI_TX_XTD_FRAME and
CANSPI_TX_NO_RTR_FRAME
...
CANSPI1Write(id, data, 1, send_config)
183
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroBasic PRO for AVR
CHAPTER 6