//////////////////////////////////// // 8k_demo5: Use with F_demo5 // /////////////////////////////////// #include "8000.h" #include "I87kcan.h" #include #include #include void main(void) { int ret; int slot; char command; unsigned char data[100]; Print("\r\n"); Print("/******************************************************/\r\n"); Print("/* 8k_demo5: Send binary code */\r\n"); Print("/* With Firmware : F_demo3 */\r\n"); Print("/******************************************************/\r\n"); do{ Print("I-87120 slot(0~7):"); Scanf("%d\r\n",&slot); }while((slot<0)||(slot>7)); ret = InstallCom0(115200UL,8,0,1); // Install com port if(ret){ ret = RestoreCom0(); if(ret){ Print("Com 0 restore error, code = %d\r\n",ret); return; } else{ ret = InstallCom0(115200UL,8,0,1); if(ret){ Print("Com 0 install error, code = %d\r\n",ret); return; } } } ChangeToSlot(slot); // 0 1 2 3 4 5 6 7 8 9 A B C // 5K 10K 20K 25K 50K 100K 125K 200K 250K 500K 800K 1M User_define //ToCom0Str("P1B0000\r"); // Set CAN baudrate to 1M bps //ToCom0Str("P200000000FFFFFFFF\r"); // Set Mask // The CAN baudrate and mask had been setting in UserInitFunc of f_demo1 firmware Print("\r\n\r\n"); Print("a.Send CAN message: id=0x123, data=0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88\r\n"); Print("b.Send CAN message: id=0x321, data=0x88 0x77 0x66 0x55 0x44 0x33 0x22 0x11\r\n"); Print("q.Exit\r\n\r\n"); ClearCom0(); while(1){ command = Kbhit(); if(command){ Getch(); switch(command){ case 'a': { data[0] = '|'; // '|' = 0x7c data[1] = 0x0a; // data length (LSB) data[2] = 0x00; // data length (HSB) data[3] = 0x23; // id (LSB) data[4] = 0x01; // id (HSB) data[5] = 0x11; // data 0 data[6] = 0x22; // data 1 data[7] = 0x33; // data 2 data[8] = 0x44; // data 3 data[9] = 0x55; // data 4 data[10] = 0x66; // data 5 data[11] = 0x77; // data 6 data[12] = 0x88; // data 7 ToCom0Bufn((char*)data,13); break; } case 'b': { data[0] = '|'; // '|' = 0x7c data[1] = 0x0a; // data length (LSB) data[2] = 0x00; // data length (HSB) data[3] = 0x21; // id (LSB) data[4] = 0x03; // id (HSB) data[5] = 0x88; // data 0 data[6] = 0x77; // data 1 data[7] = 0x66; // data 2 data[8] = 0x55; // data 3 data[9] = 0x44; // data 4 data[10] = 0x33; // data 5 data[11] = 0x22; // data 6 data[12] = 0x11; // data 7 ToCom0Bufn((char*)data,13); break; } case 'q': { RestoreCom0(); return; } } } } }