use mikroC software from Mikroelectronica. its demo version is free.
it hs got all the functions of CAN inbuilt. all u gotta do is call these function
//CAN timing
SJW=1;
BRP=1;
Phase_Seg1=6;
Phase_Seg2=7;
Prop_Seg=6;
//Flags
init_flag=CAN_CONFIG_SAMPLE_THRICE&
CAN_CONFIG_PHSEG2_PRG_ON&
CAN_CONFIG_STD_MSG&
CAN_CONFIG_DBL_BUFFER_ON&
CAN_CONFIG_VALID_STD_MSG&
CAN_CONFIG_LINE_FILTER_OFF;
send_flag=CAN_TX_PRIORITY_0&
CAN_TX_STD_FRAME&
CAN_TX_NO_RTR_FRAME;
read_flag=0;
//Initialise CAN
CANInitialize(SJW,BRP,Phase_Seg1,Phase_Seg2,Prop_Seg,init_flag);
CANSetOperationMode(CAN_MODE_CONFIG,0xFF);
mask=-1;
CANSetMask(CAN_MASK_B1,mask,CAN_CONFIG_STD_MSG);
CANSetMask(CAN_MASK_B2,mask,CAN_CONFIG_STD_MSG);
CANSetFilter(CAN_FILTER_B2_F3,44,CAN_CONFIG_STD_MSG); //panic id==44
CANSetOperationMode(CAN_MODE_NORMAL,0xFF);
help files are too user friendly. u can customise any values easily