
TRISC = 0; // PORTC are outputs (LCD)
TRISB = 0x08; // RB2 is output, RB3 is input
/
/ CAN BUS Parameters
/
SJW = 1;
BRP = 1;
Phase_Seg1 = 6;
Phase_Seg2 = 7;
Prop_Seg = 6;
init_flag = CAN_CONFIG_SAMPLE_THRICE &
CAN_CONFIG_PHSEG2_PRG_ON &
CAN_CONFIG_STD_MSG &
CAN_CONFIG_DBL_BUFFER_ON &
CAN_CONFIG_VALID_XTD_MSG &
CAN_CONFIG_LINE_FILTER_OFF;
send_flag = CAN_TX_PRIORITY_0 &
CAN_TX_XTD_FRAME &
CAN_TX_NO_RTR_FRAME;
read_flag = 0;
/
/ Initialize CAN module
/
CANInitialize(SJW, BRP, Phase_Seg1, Phase_Seg2, Prop_Seg, init_flag);
/
/ Set CAN CONFIG mode
/
CANSetOperationMode(CAN_MODE_CONFIG, 0xFF);
mask = -1;
/
/ Set all MASK1 bits to 1's
/
CANSetMask(CAN_MASK_B1, mask, CAN_CONFIG_XTD_MSG);
/
/ Set all MASK2 bits to 1's
/
CANSetMask(CAN_MASK_B2, mask, CAN_CONFIG_XTD_MSG);
/
/ Set id of filter B2_F3 to 3
/
CANSetFilter(CAN_FILTER_B2_F3,3,CAN_CONFIG_XTD_MSG);
/
/ Set CAN module to NORMAL mode
/
CANSetOperationMode(CAN_MODE_NORMAL, 0xFF);
Figure 9.17: (Cont’d)
www.newnespress.com
509Advanced PIC18 Projects—CAN Bus Projects
Commenti su questo manuale