mikroC

mikroC - C Compiler for Microchip PIC microcontrollers

 

 

making it simple...

 

// ..continued

 

 

 

 

 

#define CAN_CONFIG_DBL_BUFFER_BIT

0x10

 

 

 

 

#define CAN_CONFIG_DBL_BUFFER_ON

0xFF

//

XXX1XXXX

 

#define CAN_CONFIG_DBL_BUFFER_OFF

0xEF

//

XXX0XXXX

 

#define CAN_CONFIG_MSG_BITS

0x60

 

 

 

 

#define CAN_CONFIG_ALL_MSG

0xFF

//

X11XXXXX

 

#define CAN_CONFIG_VALID_XTD_MSG

0xDF

//

X10XXXXX

 

#define CAN_CONFIG_VALID_STD_MSG

0xBF

//

X01XXXXX

 

#define CAN_CONFIG_ALL_VALID_MSG

0x9F

//

X00XXXXX

You may use bitwise AND (&) to form config byte out of these values. For exam- ple:

init = CAN_CONFIG_SAMPLE_THRICE CAN_CONFIG_STD_MSG CAN_CONFIG_VALID_XTD_MSG

& CAN_CONFIG_PHSEG2_PRG_ON & & CAN_CONFIG_DBL_BUFFER_ON & & CAN_CONFIG_LINE_FILTER_OFF;

//...

 

CANInitialize(1, 1, 3, 3, 1, init);

// initialize CAN

page

148

CAN_TX_MSG_FLAGS

CAN_TX_MSG_FLAGS are flags related to transmission of a CAN message:

#define CAN_TX_PRIORITY_BITS

0x03

 

#define CAN_TX_PRIORITY_0

0xFC

// XXXXXX00

#define CAN_TX_PRIORITY_1

0xFD

// XXXXXX01

#define CAN_TX_PRIORITY_2

0xFE

// XXXXXX10

#define CAN_TX_PRIORITY_3

0xFF

// XXXXXX11

#define CAN_TX_FRAME_BIT

0x08

 

#define CAN_TX_STD_FRAME

0xFF

// XXXXX1XX

#define CAN_TX_XTD_FRAME

0xF7

// XXXXX0XX

#define CAN_TX_RTR_BIT

0x40

 

#define CAN_TX_NO_RTR_FRAME

0xFF

// X1XXXXXX

#define CAN_TX_RTR_FRAME

0xBF

// X0XXXXXX

You may use bitwise AND (&) to adjust the appropriate flags. For example:

/* form value to be used with CANSendMessage: */ send_config = CAN_TX_PRIORITY_0 && CAN_TX_XTD_FRAME &

CAN_TX_NO_RTR_FRAME;

//...

CANSendMessage(id, data, 1, send_config);

MikroElektronika: Development tools - Books - Compilers