Mikroelektronika MIKROE-350 データシート

ページ / 526
' CANSPI module connections
dim CanSpi_CS as sbit at PORTB.B0
CanSpi_CS_Direction 
as sbit at DDRB.B0
CanSpi_Rst 
as sbit at PORTB.B2
CanSpi_Rst_Direction 
as sbit at DDRB.B2
' End CANSPI module connections
main:
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 sub 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
187
MIKROELEKTRONIKA
- SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroBasic PRO for AVR
CHAPTER 6