CAN a enviar_TLMoto

Dependencies:   CANnucleo mbed

Fork of CANnucleo_Hello by Zoltan Hudak

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "CAN.h"
00003 
00004   //  const unsigned int TX_ID = 0x101;
00005       const unsigned int TX_ID = 0x155;  //em binario: 101010101
00006 
00007 DigitalOut      led(PA_5);
00008 int             ledState;
00009 CAN             can1(PA_11, PA_12);  // CAN Rx pin name, CAN Tx pin name
00010 CAN             can2(PB_12, PB_13);  // CAN Rx pin name, CAN Tx pin name
00011 CANMessage      txMsg;
00012 CANMessage      rxMsg;
00013 int             counter = 0;
00014 
00015 //Serial pc(SERIAL_TX, SERIAL_RX);
00016 
00017 int main() {
00018     can1.frequency(40000);                     // set bit rate to 1Mbps
00019         can2.frequency(40000);                     // set bit rate to 1Mbps
00020     led = 1;       // turn LED on
00021     //pc.printf("pcprintf check");
00022 
00023     while(1) {
00024             wait(10);
00025 
00026             counter++;                          // increment counter
00027            // ledState = led.read();              // get led state
00028            ledState = 1;
00029            txMsg.clear();                      // clear Tx message storage
00030 //           txMsg.id = TX_ID;                   // set ID   (9 bits)
00031 
00032            
00033            
00034            txMsg=CANMessage(TX_ID,"a",1,CANData,CANStandard);  
00035 
00036            //txMsg << counter;                   // append first data item  (32? bits?=4bytes)
00037            //txMsg << ledState;                  // append second data item (total data lenght must be <= 8 bytes!) (=4bytes)
00038             
00039             
00040             can1.write(txMsg);
00041          //   if(can1.write(txMsg))                // transmit message
00042          //       led = 1;       // turn LED on 
00043          //   else
00044          //       led = 0;       // turn LED off
00045          
00046          if(can2.read(rxMsg,0)) {
00047            // pc.printf("Message received: %d\n", rxMsg.data[0]);
00048         //   pc.printf("Message received: %d\n");
00049             led = !led;
00050         } 
00051          
00052 
00053     }
00054 }