#include #include "..\lib\UPAC5000.h" #include "..\lib\XWCAN.h" /*If the UserCANInt() function is not used, please don't remove it.*/ void UserCANInt(int CANPort,char CANInt){ if(CANPort ==0x0) { if (CANInt==0x01) /*avoid complier warning*/ { } } } void main(void) { int ret,i=0; InitLib(); /*******************************************************/ /* initialize and configure the CAN controller */ /*******************************************************/ ret=XWCANInit(0,0,125000UL,0,0,0x00000000UL,0xffffffffUL); ret=XWCANInit(1,0,125000UL,0,0,0x00000000UL,0xffffffffUL); /* XCANInit function Parameter descriptions 1 : for CAN Port select 0 : for IntMode useless 125000UL : for CAN baud 0 : for BT0 of user defined baud 0 : for BT1 of user defined baud 0x00000000UL : for AccCode of CAN message filter 0xffffffffUL : for AccMask of CAN message filter */ switch (ret){ /*Check if configuration is OK*/ case CAN_ResetError: Print("Reset Error!\n\r"); return; case CAN_SetACRError: Print("\n\rSet ACR Error!"); return; case CAN_SetAMRError: Print("\n\rSet AMR Error!"); return; case CAN_SetBaudRateError: Print("\n\rSet Baud Rate Error!"); return; case CAN_BaudNotSupport: Print("\n\rBaud Rate Not Support!"); return; case CAN_ConfigError: Print("\n\rConfiguration Failure!"); return; case CAN_SetPortError: Print("\n\rSet CAN Port Failure!"); return; default: if (ret >0){ Print("Default=%d\n\r",ret); return; } } /********************************************************/ /* Initial all LEDs */ /********************************************************/ Print("Press any key to exit the program.\n\r"); while(1){ switch(i){ case 0: CL1On(); CL2Off(); CL3Off(); break; case 1: CL1Off(); CL2On(); CL3Off(); break; case 2: CL1Off(); CL2Off(); CL3On(); } if (++i==3) i=0; DelayMs(500); if (Kbhit()){ /*if press any key, exit the program*/ Print("Exit this program!\n"); break; } } CL1Off(); CL2Off(); CL3Off(); CAN_Restore(0); CAN_Restore(1); /*CAN_Restore function parameter descirptions: 0 :for CAN Port select */ }