Mikroelektronika MIKROE-742 데이터 시트

다운로드
페이지 532
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;
...
CANSPIInitialize(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 = 0x03;
CANSPI_TX_PRIORITY_0    = 0xFC;
// XXXXXX00
CANSPI_TX_PRIORITY_1    = 0xFD;
// XXXXXX01
CANSPI_TX_PRIORITY_2    = 0xFE;
// XXXXXX10
CANSPI_TX_PRIORITY_3    = 0xFF;
// XXXXXX11
CANSPI_TX_FRAME_BIT     = 0x08;
CANSPI_TX_STD_FRAME     = 0xFF;
// XXXXX1XX
CANSPI_TX_XTD_FRAME     = 0xF7;
// XXXXX0XX
CANSPI_TX_RTR_BIT       = 0x40;
CANSPI_TX_NO_RTR_FRAME  = 0xFF;
// X1XXXXXX
CANSPI_TX_RTR_FRAME     = 0xBF;
// X0XXXXXX
You may use bitwise and to adjust the appropriate flags. For example:
// form value to be used as sending message flag: 
send_config := CANSPI_TX_PRIORITY_0    
and
CANSPI_TX_XTD_FRAME     
and
CANSPI_TX_NO_RTR_FRAME;
...
CANSPIWrite(id, data, 1, send_config);
CANSPI_RX_MSG_FLAGS
CANSPI_RX_MSG_FLAGS
are flags related to reception of CAN message. If a particu-
lar bit is set then corresponding meaning is TRUE or else it will be FALSE.
const
CANSPI_RX_FILTER_BITS = 0x07;   // Use this to access filter bits
CANSPI_RX_FILTER_1    = 0x00;
197
MIKROELEKTRONIKA
- SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroPASCAL PRO for AVR
CHAPTER 6