Техническая Спецификация для Mikroelektronika MIKROE-350

Скачать
Страница из 526
CANSPI_CONFIG_DBL_BUFFER_BIT  
as byte = $10
CANSPI_CONFIG_DBL_BUFFER_ON   
as byte = $FF   ' XXX1XXXX
CANSPI_CONFIG_DBL_BUFFER_OFF  
as byte = $EF   ' XXX0XXXX
CANSPI_CONFIG_MSG_BITS        
as byte = $60
CANSPI_CONFIG_ALL_MSG         
as byte = $FF   ' X11XXXXX
CANSPI_CONFIG_VALID_XTD_MSG   
as byte = $DF   ' X10XXXXX
CANSPI_CONFIG_VALID_STD_MSG   
as byte = $BF   ' X01XXXXX
CANSPI_CONFIG_ALL_VALID_MSG   
as byte = $9F   ' X00XXXXX
You may use bitwise and to form config byte out of these values. For example:
init  = CANSPI_CONFIG_SAMPLE_THRICE    
and
CANSPI_CONFIG_PHSEG2_PRG_ON   
and
CANSPI_CONFIG_STD_MSG         
and
CANSPI_CONFIG_DBL_BUFFER_ON   
and
CANSPI_CONFIG_VALID_XTD_MSG   
and
CANSPI_CONFIG_LINE_FILTER_OFF
...
CANSPIInit(1, 1, 3, 3, 1, init)   ' initialize CANSPI
CANSPI_TX_MSG_FLAGS
CANSPI_TX_MSG_FLAGS are flags related to transmission of a CAN message:
const
CANSPI_TX_PRIORITY_BITS 
as byte = $03
CANSPI_TX_PRIORITY_0    
as byte = $FC   ' XXXXXX00
CANSPI_TX_PRIORITY_1    
as byte = $FD   ' XXXXXX01
CANSPI_TX_PRIORITY_2    
as byte = $FE   ' XXXXXX10
CANSPI_TX_PRIORITY_3    
as byte = $FF   ' XXXXXX11
CANSPI_TX_FRAME_BIT     
as byte
= $08
CANSPI_TX_STD_FRAME     
as byte
= $FF  ' XXXXX1XX
CANSPI_TX_XTD_FRAME     
as byte
= $F7  ' XXXXX0XX
CANSPI_TX_RTR_BIT       
as byte = $40
CANSPI_TX_NO_RTR_FRAME  
as byte = $FF   ' X1XXXXXX
CANSPI_TX_RTR_FRAME     
as byte = $BF   ' X0XXXXXX
You may use bitwise and to adjust the appropriate flags. For example:
' form value to be used with CANSendMessage:
send_config  = CANSPI_TX_PRIORITY_0     
and
CANSPI_TX_XTD_FRAME     
and
CANSPI_TX_NO_RTR_FRAME
...
CANSPI1Write(id, data, 1, send_config)
183
MIKROELEKTRONIKA
- SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroBasic PRO for AVR
CHAPTER 6