Datasheet
CANSPIWrite
243
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroC PRO for AVR
CHAPTER 6
Prototype
char CANSPIWrite(long id, char *wr_data, char data_len, char
CAN_TX_MSG_FLAGS);
Returns
- 0 if all Transmit Buffers are busy
-
0xFF if at least one Transmit Buffer is available
Description
If at least one empty Transmit Buffer is found, the function sends message in
the queue for transmission.
Parameters:
- id:CAN message identifier. Valid values: 11 or 29 bit values, depending on
message type (standard or extended)
- wr_data: data to be sent (an array of bytes up to 8 bytes in length)
- data_len: data length. Valid values: 1 to 8
-
CAN_RX_MSG_FLAGS: message flags
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
char tx_flags;
char data[8];
long msg_id;
...
CANSPISetOperationMode(CAN_MODE_NORMAL,0xFF);
// set NORMAL mode (CANSPI must be in mode in which transmission
is possible)
tx_flags = CANSPI_TX_PRIORITY_0 & CANSPI_TX_XTD_FRAME;
// set message flags
CANSPIWrite(msg_id, data, 2, tx_flags);