2019 Off season development Test of CAN communication Nucleo Board STM32 F303K8
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 /** NucleoF303k8 CAN TEST CODE **/ 00002 /** 2019/11/28 Coding by Nagito Sukegawa **/ 00003 //MotorDriver 00004 //https://os.mbed.com/users/YutaTogashi/code/robocon2019_TBCMotorDriver_Ver5/ 00005 00006 #include "mbed.h" 00007 00008 void canRcv(void); 00009 char RcvData[8]; 00010 DigitalOut myled(PB_3); //Nucleoの時 00011 DigitalOut led1(PA_3); //チップ の時 00012 DigitalOut led2(PA_4); //チップ の時 00013 DigitalOut led3(PA_5); //チップ の時 00014 Serial pc(PA_2,NC,115200); //Nucleoの時 00015 //Serial pc(PA_9,PA_10,115200); //チップ の時 00016 CAN can(PA_11, PA_12,500000); 00017 CANMessage msg(0x456,CANStandard); 00018 00019 int main() 00020 { 00021 pc.printf("\033[2J\033[1;1HSTART\n"); 00022 can.attach(&canRcv,CAN::RxIrq); 00023 while(1) { 00024 led1 = !led1; 00025 // pc.printf("\033[2;1HCAN DATA[0]: 0x%x", RcvData[0]); 00026 // pc.printf("\033[3;1HCAN DATA[1]: 0x%x", RcvData[1]); 00027 // pc.printf("\033[4;1HCAN DATA[2]: 0x%x", RcvData[2]); 00028 // pc.printf("\033[5;1HCAN DATA[3]: 0x%x", RcvData[3]); 00029 // pc.printf("\033[6;1HCAN DATA[4]: 0x%x", RcvData[4]); 00030 // pc.printf("\033[7;1HCAN DATA[5]: 0x%x", RcvData[5]); 00031 // pc.printf("\033[8;1HCAN DATA[6]: 0x%x", RcvData[6]); 00032 // pc.printf("\033[9;1HCAN DATA[7]: 0x%x", RcvData[7]); 00033 wait(0.1); 00034 } 00035 } 00036 00037 00038 /** CAN受信関数 **/ 00039 void canRcv(void) 00040 { 00041 myled =!myled; 00042 led2=!led2; 00043 can.read(msg); 00044 pc.printf("\033[1;1HCAN TRANSID: 0x%x", msg.id); 00045 // if(msg.id == 0x456) { 00046 for(uint8_t i=0; i<8; i++) { 00047 RcvData[i] = msg.data[i]; 00048 } 00049 pc.printf("\033[2;1HCAN DATA[0]: 0x%x", RcvData[0]); 00050 pc.printf("\033[3;1HCAN DATA[1]: 0x%x", RcvData[1]); 00051 pc.printf("\033[4;1HCAN DATA[2]: 0x%x", RcvData[2]); 00052 // pc.printf("\033[5;1HCAN DATA[3]: 0x%x", RcvData[3]); 00053 // pc.printf("\033[6;1HCAN DATA[4]: 0x%x", RcvData[4]); 00054 // pc.printf("\033[7;1HCAN DATA[5]: 0x%x", RcvData[5]); 00055 // pc.printf("\033[8;1HCAN DATA[6]: 0x%x", RcvData[6]); 00056 // pc.printf("\033[9;1HCAN DATA[7]: 0x%x", RcvData[7]); 00057 // } 00058 }
Generated on Mon Jul 25 2022 19:09:23 by
1.7.2