CAN a enviar_TLMoto

Dependencies:   CANnucleo mbed

Fork of CANnucleo_Hello by Zoltan Hudak

Committer:
Crazyaboutmachines
Date:
Mon Jun 27 16:09:13 2016 +0000
Revision:
15:b1d0bf2626ed
Parent:
14:ff9c77b97bad
CAN nucleo a enviar

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:c5e5d0df6f2a 1 #include "mbed.h"
hudakz 0:c5e5d0df6f2a 2 #include "CAN.h"
hudakz 0:c5e5d0df6f2a 3
Crazyaboutmachines 12:4f5cec652e77 4 // const unsigned int TX_ID = 0x101;
Crazyaboutmachines 12:4f5cec652e77 5 const unsigned int TX_ID = 0x155; //em binario: 101010101
hudakz 0:c5e5d0df6f2a 6
Crazyaboutmachines 12:4f5cec652e77 7 DigitalOut led(PA_5);
hudakz 11:07d927da1a94 8 int ledState;
Crazyaboutmachines 13:77261ea62081 9 CAN can1(PA_11, PA_12); // CAN Rx pin name, CAN Tx pin name
Crazyaboutmachines 13:77261ea62081 10 CAN can2(PB_12, PB_13); // CAN Rx pin name, CAN Tx pin name
hudakz 11:07d927da1a94 11 CANMessage txMsg;
Crazyaboutmachines 13:77261ea62081 12 CANMessage rxMsg;
hudakz 11:07d927da1a94 13 int counter = 0;
hudakz 0:c5e5d0df6f2a 14
Crazyaboutmachines 15:b1d0bf2626ed 15 //Serial pc(SERIAL_TX, SERIAL_RX);
Crazyaboutmachines 14:ff9c77b97bad 16
hudakz 0:c5e5d0df6f2a 17 int main() {
Crazyaboutmachines 15:b1d0bf2626ed 18 can1.frequency(40000); // set bit rate to 1Mbps
Crazyaboutmachines 15:b1d0bf2626ed 19 can2.frequency(40000); // set bit rate to 1Mbps
Crazyaboutmachines 12:4f5cec652e77 20 led = 1; // turn LED on
Crazyaboutmachines 15:b1d0bf2626ed 21 //pc.printf("pcprintf check");
hudakz 0:c5e5d0df6f2a 22
hudakz 0:c5e5d0df6f2a 23 while(1) {
Crazyaboutmachines 12:4f5cec652e77 24 wait(10);
Crazyaboutmachines 12:4f5cec652e77 25
hudakz 0:c5e5d0df6f2a 26 counter++; // increment counter
Crazyaboutmachines 12:4f5cec652e77 27 // ledState = led.read(); // get led state
Crazyaboutmachines 12:4f5cec652e77 28 ledState = 1;
Crazyaboutmachines 12:4f5cec652e77 29 txMsg.clear(); // clear Tx message storage
Crazyaboutmachines 15:b1d0bf2626ed 30 // txMsg.id = TX_ID; // set ID (9 bits)
Crazyaboutmachines 15:b1d0bf2626ed 31
Crazyaboutmachines 15:b1d0bf2626ed 32
Crazyaboutmachines 15:b1d0bf2626ed 33
Crazyaboutmachines 15:b1d0bf2626ed 34 txMsg=CANMessage(TX_ID,"a",1,CANData,CANStandard);
Crazyaboutmachines 15:b1d0bf2626ed 35
Crazyaboutmachines 15:b1d0bf2626ed 36 //txMsg << counter; // append first data item (32? bits?=4bytes)
Crazyaboutmachines 15:b1d0bf2626ed 37 //txMsg << ledState; // append second data item (total data lenght must be <= 8 bytes!) (=4bytes)
Crazyaboutmachines 12:4f5cec652e77 38
Crazyaboutmachines 13:77261ea62081 39
Crazyaboutmachines 13:77261ea62081 40 can1.write(txMsg);
Crazyaboutmachines 13:77261ea62081 41 // if(can1.write(txMsg)) // transmit message
Crazyaboutmachines 13:77261ea62081 42 // led = 1; // turn LED on
Crazyaboutmachines 13:77261ea62081 43 // else
Crazyaboutmachines 13:77261ea62081 44 // led = 0; // turn LED off
Crazyaboutmachines 13:77261ea62081 45
Crazyaboutmachines 15:b1d0bf2626ed 46 if(can2.read(rxMsg,0)) {
Crazyaboutmachines 14:ff9c77b97bad 47 // pc.printf("Message received: %d\n", rxMsg.data[0]);
Crazyaboutmachines 15:b1d0bf2626ed 48 // pc.printf("Message received: %d\n");
Crazyaboutmachines 13:77261ea62081 49 led = !led;
Crazyaboutmachines 13:77261ea62081 50 }
Crazyaboutmachines 13:77261ea62081 51
Crazyaboutmachines 12:4f5cec652e77 52
hudakz 0:c5e5d0df6f2a 53 }
Crazyaboutmachines 12:4f5cec652e77 54 }