Datasheet

var CanSpi_CS : sbit at PORTB.B0;
CanSpi_CS_Direction : sbit at DDRB.B0;
CanSpi_Rst : sbit at PORTB.B2;
CanSpi_Rst_Direction : sbit at DDRB.B2;
// End CANSPI module connections
begin
PORTC := 0; // clear PORTC
DDRC := 255; // set PORTC as output
Can_Init_Flags := 0; //
Can_Send_Flags := 0; // clear flags
Can_Rcv_Flags := 0; //
Can_Send_Flags := _CANSPI_TX_PRIORITY_0 and //
form value to be used
_CANSPI_TX_XTD_FRAME and // with CANSPIWrite
_CANSPI_TX_NO_RTR_FRAME;
Can_Init_Flags := _CANSPI_CONFIG_SAMPLE_THRICE and //
Form value to be used
_CANSPI_CONFIG_PHSEG2_PRG_ON and// with CANSPIInit
_CANSPI_CONFIG_XTD_MSG and
_CANSPI_CONFIG_DBL_BUFFER_ON and
_CANSPI_CONFIG_VALID_XTD_MSG and
_CANSPI_CONFIG_LINE_FILTER_OFF;
SPI1_Init();
// initialize SPI1 module
Spi_Rd_Ptr := @SPI1_Read;
// Pass pointer to SPI Read function of used SPI module
CANSPIInitialize(1,3,3,3,1,Can_Init_Flags);
// initialize external CANSPI module
CANSPISetOperationMode(_CANSPI_MODE_CONFIG,0xFF);
// set CONFIGURATION mode
CANSPISetMask(_CANSPI_MASK_B1,-1,_CANSPI_CONFIG_XTD_MSG);
// set all mask1 bits to ones
CANSPISetMask(_CANSPI_MASK_B2,-1,_CANSPI_CONFIG_XTD_MSG);
// set all mask2 bits to ones
CANSPISetFilter(_CANSPI_FILTER_B2_F3,12111,_CANSPI_CONFIG_XTD_MSG);
// set id of filter B1_F1 to 3
CANSPISetOperationMode(_CANSPI_MODE_NORMAL,0xFF);
// set NORMAL mode
Tx_ID := 3;
// set tx ID
while (TRUE) do
201
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroPASCAL PRO for AVR
CHAPTER 6