User manual

mikroBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
271
CANSPIWrite
Prototype
sub function CANSPIWrite(dim id as longint, dim byref Data_ as byte[8], dim
DataLen, CANSPI_TX_MSG_FLAGS as byte) as byte
Description If at least one empty Transmit Buffer is found, the function sends message in the queue for
transmission.
Parameters - id: CAN message identier. Valid values: 11 or 29 bit values, depending on message type (standard
or extended)
- Data: data to be sent
- DataLen: data length. Valid values: 0..8
- CANSPI_TX_MSG_FLAGS: message ags. Valid values: CANSPI_TX_MSG_FLAGS constants. See
CANSPI_TX_MSG_FLAGS constants.
Returns - 0 if all Transmit Buffers are busy
- 0xFFFF if at least one Transmit Buffer is available
Requires The CANSPI module must be in mode in which transmission is possible. See
CANSPISetOperationMode.
The CANSPI routines are supported only by MCUs with the SPI module.
MCU has to be properly connected to mikroElektronika’s CANSPI Extra Board or similar hardware.
See connection example at the bottom of this page.
Example
‘ send message extended CAN message with the appropriate ID and data
dim tx_ags as byte
data as byte[8]
msg_id as longint
...
CANSPISetOperationMode(_CAN_MODE_NORMAL,0xFF) ‘ set NORMAL mode (CANSPI1
must be in mode in which transmission is possible)
tx_ags = _CANSPI_TX_PRIORITY_0 and _CANSPI_TX_XTD_FRAME set message
ags
CANSPIWrite(msg_id, data, 2, tx_ags)
Notes None.
CANSPI Constants
There is a number of constants predened in the CANSPI library. You need to be familiar with them in order to be able
to use the library effectively. Check the example at the end of the chapter.
CANSPI_OP_MODE Constants
The CANSPI_OP_MODE constants dene CANSPI operation mode. Function CANSPISetOperationMode expects one
of these as it’s argument: