SHENG-HEN HSIEH
/
VDU_2021
Just a regular publish
Diff: main.cpp
- Revision:
- 0:c4747ebbe0b4
- Child:
- 1:8a9ac822aab7
diff -r 000000000000 -r c4747ebbe0b4 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat May 26 16:03:33 2018 +0000 @@ -0,0 +1,47 @@ +#include "mbed.h" + +Ticker ticker; +CAN can1(PB_5, PB_13, 1000000); +CAN can2(PA_11, PA_12, 1000000); + +CANMessage can_msg_1; +CANMessage can_msg_2; + +uint8_t CAN_flag_1 = 0; +uint8_t CAN_flag_2 = 0; + +void CAN1_RX(void); +void CAN2_RX(void); + +int main() +{ + CAN_flag_1 = 0; + CAN_flag_2 = 0; + + can1.attach(&CAN1_RX, CAN::RxIrq); //CAN1 Recieve Irq + can2.attach(&CAN2_RX, CAN::RxIrq); //CAN2 Recieve Irq + + while(1) { + while(CAN_flag_1 == 1) { + can2.write(can_msg_1); + CAN_flag_1 = 0; + } + while(CAN_flag_2 == 1) { + can1.write(can_msg_2); + CAN_flag_2 = 0; + } + } +} + +void CAN1_RX(void) +{ + if(can1.read(can_msg_1)) { + CAN_flag_1 = 1; + } +} +void CAN2_RX(void) +{ + if(can2.read(can_msg_2)) { + CAN_flag_2 = 1; + } +} \ No newline at end of file