User manual

Table Of Contents
mikroC PRO for PIC32
MikroElektronika
279
CANSPIWrite
Prototype
unsigned short CANSPIWrite(long id, unsigned short *data, unsigned short
datalen, unsigned short CANSPI_TX_MSG_FLAGS);
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
unsigned short tx_ags;
char data[8];
long msg_id;
...
CANSPISetOperationMode(CANSPI_MODE_NORMAL,0xFF); // set NORMAL mode (CANSPI
must be in mode in which transmission is possible)
tx_ags = _CANSPI_TX_PRIORITY_0 & _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: