#ifndef __API_CAN_H #define __API_CAN_H //#define ID65520 65520//NM-OSEK #define ID61444 61444 #define ID65266 65266 #define ID65269 65269 #define ID65279 65279 #define ID65252 65252 #define ID64892 64892 #define ID64775 64775 #define ID61440 61440 #define ID65249 65249 #define ID65248 65248 #define ID65110 65110 #define ID61442 61442 #define ID61445 61445 #define ID64923 64923 #define ID61454 61454 #define ID65215 65215 #define ID61441 61441 #define ID60439 60439 #define ID65262 65262 #define ID04119 4096 #define ID65265 65265 #define ID65088 65088 #define ID65226 65226 #define ID65254 65254 #define ID65263 65263 #define ID64972 64972 #define ID65291 65291 #define ID60416 60416 #define ID60160 60160 #define ID65310 65310 #define ID65042 65042 #define ID64964 64964 #define ID65103 65103 #define ID65115 65115 #define ID61447 61447 #define ID65268 65268 //#define ID65266 65266 #define ID65442 65442 #define ID65271 65271 // #define SJW_1Tq 0 #define SJW_2Tq 1 #define SJW_3Tq 2 #define SAMP_1 0 #define Seg1_10Tq 9 #define Seg1_11Tq 10 #define Seg1_12Tq 11 #define Seg1_13Tq 12 #define Seg1_14Tq 13 #define Seg1_8Tq 7 #define Seg2_7Tq 6 #define Seg2_8Tq 7 #define Seg1_3Tq 2 #define Seg1_4Tq 3 #define Seg1_5Tq 4 #define Seg1_6Tq 5 #define Seg2_1Tq 0 #define Seg2_2Tq 1 #define Seg2_3Tq 2 #define Seg2_4Tq 3 #define Seg2_5Tq 4 #define IDAM_2_32Bit 0 #define IDAM_4_16Bit 1 #define IDHIT0 0 #define CanWakeUpEn 1 #define CanWakeUpDis 0 void bsp_CAN_Init(void); typedef struct { volatile INT8U REVF; INT8U BUSY; INT8U BUFF[8]; INT8U LOST; INT8U TT; } CAN_REV_TYPE; typedef struct { INT32U sendID; //����/����ID INT8U IDE; //�Ƿ�Ϊ��չID��ʽ (=0Ϊ��11λID,=1Ϊ��չ29λID) INT8U RTR; //�Ƿ�ΪԶ��֡ (=0��������֡,=1Զ�̷�������) INT8U data[8]; //֡���� INT8U dataLen; //֡���ݳ��� INT8U priority; //�������ȼ� (����ԽС���ȼ�Խ��,����ѡ��0,1,2) } CANMsg; typedef struct { INT8U msg[8]; INT8U dlc; INT8U prio; INT32U Identifier; } SendCanMsg; extern volatile CAN_REV_TYPE CanFrame; #define success 1 #define failt 0 #define EN_STB 1 #define DIS_STB 0 #define WaitOverTime 6000 #define EMPOTY 0 #define MSG_FULL 1 #define GET_EXTPGN(id) (((((((INT32U)id & 0xFF0000) >> 16) >= 0xF0) ? ((INT32U)id & 0x00FF00) : 0) | ((INT32U)id & 0x2FF0000)) >> 8) void MSCAN_SendFrame(INT32U id, INT8U *sendMsgBuf, INT8U len); void bsp_CAN_BusOff(void); void bsp_CAN_SleepRelease(void); void bsp_CAN_Sleep(void); void bsp_tx_msgbuf_abort(void); extern INT32U bsp_GET_EXTEND_ID(INT8U *IDR0_Add); INT8U bsp_CANSendExtFrame(INT32U id, INT8U priority, INT8U *txdata, INT8U length); #endif