ECU Test FSRA 2020/2021

Dependencies:   mbed

Committer:
minamax
Date:
Wed Apr 14 12:47:50 2021 +0000
Revision:
0:bf53f0550be8
First commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
minamax 0:bf53f0550be8 1 #include "mbed.h"
minamax 0:bf53f0550be8 2 //UART PINS (TX, RX, BAUDRATE)
minamax 0:bf53f0550be8 3 Serial pc(PB_13, PB_12, 9600);
minamax 0:bf53f0550be8 4 Serial pc2(PF_7, PF_6, 9600);
minamax 0:bf53f0550be8 5
minamax 0:bf53f0550be8 6 //CAN PINS (RX, TX)
minamax 0:bf53f0550be8 7 CAN can(PA_11, PA_12);
minamax 0:bf53f0550be8 8 CANMessage message;
minamax 0:bf53f0550be8 9
minamax 0:bf53f0550be8 10 void callback(){
minamax 0:bf53f0550be8 11 //UART RECEIVE
minamax 0:bf53f0550be8 12 char byte;
minamax 0:bf53f0550be8 13 pc.printf("callback");
minamax 0:bf53f0550be8 14 if(pc.readable()){
minamax 0:bf53f0550be8 15 byte = pc.getc();
minamax 0:bf53f0550be8 16 pc.printf("I received %c\n", byte);
minamax 0:bf53f0550be8 17 }
minamax 0:bf53f0550be8 18 }
minamax 0:bf53f0550be8 19
minamax 0:bf53f0550be8 20 void callbackCAN(){
minamax 0:bf53f0550be8 21 //CAN RECEIVE
minamax 0:bf53f0550be8 22 can.read(message);
minamax 0:bf53f0550be8 23 //CAN SEND
minamax 0:bf53f0550be8 24 can.write(message);
minamax 0:bf53f0550be8 25 }
minamax 0:bf53f0550be8 26
minamax 0:bf53f0550be8 27 int main(){
minamax 0:bf53f0550be8 28 //UART INIT
minamax 0:bf53f0550be8 29 //pc.attach(&callback);
minamax 0:bf53f0550be8 30 pc2.attach(&callback);
minamax 0:bf53f0550be8 31
minamax 0:bf53f0550be8 32 //CAN INIT
minamax 0:bf53f0550be8 33 can.frequency(100000);
minamax 0:bf53f0550be8 34 can.attach(callbackCAN);
minamax 0:bf53f0550be8 35
minamax 0:bf53f0550be8 36 while(1){
minamax 0:bf53f0550be8 37 //UART SEND
minamax 0:bf53f0550be8 38 pc2.printf("Hi Marta and Mina. I am ECU!\n");
minamax 0:bf53f0550be8 39
minamax 0:bf53f0550be8 40 //CAN SEND
minamax 0:bf53f0550be8 41 message.id = 0x01;
minamax 0:bf53f0550be8 42 message.data[1] = 0x48; // repeat for each byte.
minamax 0:bf53f0550be8 43 can.write(message);
minamax 0:bf53f0550be8 44
minamax 0:bf53f0550be8 45 wait(2);
minamax 0:bf53f0550be8 46 }
minamax 0:bf53f0550be8 47
minamax 0:bf53f0550be8 48 }