Nagito Sukegawa
/
Test_CAN_F303k8
2019 Off season development Test of CAN communication Nucleo Board STM32 F303K8
main.cpp
- Committer:
- st17099ng
- Date:
- 2020-03-12
- Revision:
- 0:76c82256b57e
File content as of revision 0:76c82256b57e:
/** NucleoF303k8 CAN TEST CODE **/ /** 2019/11/28 Coding by Nagito Sukegawa **/ //MotorDriver //https://os.mbed.com/users/YutaTogashi/code/robocon2019_TBCMotorDriver_Ver5/ #include "mbed.h" void canRcv(void); char RcvData[8]; DigitalOut myled(PB_3); //Nucleoの時 DigitalOut led1(PA_3); //チップ の時 DigitalOut led2(PA_4); //チップ の時 DigitalOut led3(PA_5); //チップ の時 Serial pc(PA_2,NC,115200); //Nucleoの時 //Serial pc(PA_9,PA_10,115200); //チップ の時 CAN can(PA_11, PA_12,500000); CANMessage msg(0x456,CANStandard); int main() { pc.printf("\033[2J\033[1;1HSTART\n"); can.attach(&canRcv,CAN::RxIrq); while(1) { led1 = !led1; // pc.printf("\033[2;1HCAN DATA[0]: 0x%x", RcvData[0]); // pc.printf("\033[3;1HCAN DATA[1]: 0x%x", RcvData[1]); // pc.printf("\033[4;1HCAN DATA[2]: 0x%x", RcvData[2]); // pc.printf("\033[5;1HCAN DATA[3]: 0x%x", RcvData[3]); // pc.printf("\033[6;1HCAN DATA[4]: 0x%x", RcvData[4]); // pc.printf("\033[7;1HCAN DATA[5]: 0x%x", RcvData[5]); // pc.printf("\033[8;1HCAN DATA[6]: 0x%x", RcvData[6]); // pc.printf("\033[9;1HCAN DATA[7]: 0x%x", RcvData[7]); wait(0.1); } } /** CAN受信関数 **/ void canRcv(void) { myled =!myled; led2=!led2; can.read(msg); pc.printf("\033[1;1HCAN TRANSID: 0x%x", msg.id); // if(msg.id == 0x456) { for(uint8_t i=0; i<8; i++) { RcvData[i] = msg.data[i]; } pc.printf("\033[2;1HCAN DATA[0]: 0x%x", RcvData[0]); pc.printf("\033[3;1HCAN DATA[1]: 0x%x", RcvData[1]); pc.printf("\033[4;1HCAN DATA[2]: 0x%x", RcvData[2]); // pc.printf("\033[5;1HCAN DATA[3]: 0x%x", RcvData[3]); // pc.printf("\033[6;1HCAN DATA[4]: 0x%x", RcvData[4]); // pc.printf("\033[7;1HCAN DATA[5]: 0x%x", RcvData[5]); // pc.printf("\033[8;1HCAN DATA[6]: 0x%x", RcvData[6]); // pc.printf("\033[9;1HCAN DATA[7]: 0x%x", RcvData[7]); // } }