(CAN) using any type of character and strings with a maxim of 8 bits

Dependencies:   mbed

Committer:
sherckuith
Date:
Tue Jan 08 06:15:53 2013 +0000
Revision:
0:8ef426505c79
Child:
1:328932c34ba1
(CAN) using any type of character and strings with a maxim of 8 bits

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sherckuith 0:8ef426505c79 1 #include "mbed.h"
sherckuith 0:8ef426505c79 2 #include "CAN.h"
sherckuith 0:8ef426505c79 3
sherckuith 0:8ef426505c79 4 DigitalOut led1(LED1);
sherckuith 0:8ef426505c79 5 DigitalOut led2(LED2);
sherckuith 0:8ef426505c79 6 DigitalOut led3(LED3);
sherckuith 0:8ef426505c79 7 DigitalOut led4(LED4);
sherckuith 0:8ef426505c79 8 CAN can1(p9, p10);
sherckuith 0:8ef426505c79 9 CAN can2(p30, p29);
sherckuith 0:8ef426505c79 10 Serial pc(USBTX,USBRX); //tx. rx
sherckuith 0:8ef426505c79 11
sherckuith 0:8ef426505c79 12 int main()
sherckuith 0:8ef426505c79 13 {
sherckuith 0:8ef426505c79 14 char a[8] = {0x6D,0x62,0x65,0x64,0x00,0x00,0x00,0x00};
sherckuith 0:8ef426505c79 15 char b[5] = "hola";
sherckuith 0:8ef426505c79 16 char c[8] = {"1234567"};
sherckuith 0:8ef426505c79 17 const char d[8] = {0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x00};
sherckuith 0:8ef426505c79 18 CANMessage msg;
sherckuith 0:8ef426505c79 19 pc.baud(9600);
sherckuith 0:8ef426505c79 20 can1.frequency(125000);
sherckuith 0:8ef426505c79 21 can2.frequency(125000);
sherckuith 0:8ef426505c79 22 while(1) {
sherckuith 0:8ef426505c79 23 if(can2.read(msg))
sherckuith 0:8ef426505c79 24 led1 = 1;
sherckuith 0:8ef426505c79 25
sherckuith 0:8ef426505c79 26 /***********inicio de comunicacion****************************/
sherckuith 0:8ef426505c79 27 pc.printf("************************************\n\r");
sherckuith 0:8ef426505c79 28 can1.write(CANMessage(01, &a[0], 8));
sherckuith 0:8ef426505c79 29 pc.printf("write a: %s ",&a[0]);
sherckuith 0:8ef426505c79 30 if(can2.read(msg)) {
sherckuith 0:8ef426505c79 31 led1 = 1;led2 = 0;led3 = 0;led4 = 0;
sherckuith 0:8ef426505c79 32 pc.printf("read a:-%s-\n",&msg.data[0]);
sherckuith 0:8ef426505c79 33 }
sherckuith 0:8ef426505c79 34 can1.write(CANMessage(01, &b[0], 4));
sherckuith 0:8ef426505c79 35 pc.printf("write b: %s ",&b[0]);
sherckuith 0:8ef426505c79 36 if(can2.read(msg)) {
sherckuith 0:8ef426505c79 37 led1 = 0;led2 = 2;led3 = 0;led4 = 0;
sherckuith 0:8ef426505c79 38 pc.printf("read b:-%s-\n",&msg.data[0]);
sherckuith 0:8ef426505c79 39 }
sherckuith 0:8ef426505c79 40 can1.write(CANMessage(01, &c[0], 8));
sherckuith 0:8ef426505c79 41 pc.printf("write c: %s ",&c[0]);
sherckuith 0:8ef426505c79 42 if(can2.read(msg)) {
sherckuith 0:8ef426505c79 43 led1 = 0;led2 = 0;led3 = 3;led4 = 0;
sherckuith 0:8ef426505c79 44 pc.printf("read c:-%s-\n",&msg.data[0]);
sherckuith 0:8ef426505c79 45 }
sherckuith 0:8ef426505c79 46 can1.write(CANMessage(01, &d[0], 8));
sherckuith 0:8ef426505c79 47 pc.printf("write d: %s ",&d[0]);
sherckuith 0:8ef426505c79 48 if(can2.read(msg)) {
sherckuith 0:8ef426505c79 49 led1 = 0;led2 = 0;led3 = 0;led4 = 4;
sherckuith 0:8ef426505c79 50 pc.printf("read d:-%s-\n",&msg.data[0]);
sherckuith 0:8ef426505c79 51 }
sherckuith 0:8ef426505c79 52 //wait(0.25);
sherckuith 0:8ef426505c79 53 led1 = 0;led2 = 0;led3 = 0;led4 = 0;
sherckuith 0:8ef426505c79 54
sherckuith 0:8ef426505c79 55 /************************fin**********************************/
sherckuith 0:8ef426505c79 56 }
sherckuith 0:8ef426505c79 57 }
sherckuith 0:8ef426505c79 58
sherckuith 0:8ef426505c79 59
sherckuith 0:8ef426505c79 60 /*
sherckuith 0:8ef426505c79 61 (NXP TJA 1051/3)
sherckuith 0:8ef426505c79 62 mbed TJA1 TJA2
sherckuith 0:8ef426505c79 63 ----------------------
sherckuith 0:8ef426505c79 64 5V Vcc Vcc
sherckuith 0:8ef426505c79 65 GND GND GND
sherckuith 0:8ef426505c79 66 p9 RXD -
sherckuith 0:8ef426505c79 67 p10 TXD -
sherckuith 0:8ef426505c79 68 p29 - TXD
sherckuith 0:8ef426505c79 69 p30 - RXD
sherckuith 0:8ef426505c79 70 - CANL CANL
sherckuith 0:8ef426505c79 71 - CANH CANH
sherckuith 0:8ef426505c79 72 3.3v Vio Vio
sherckuith 0:8ef426505c79 73
sherckuith 0:8ef426505c79 74 GND -> 60Ohm-CANL
sherckuith 0:8ef426505c79 75 GND -> 60Ohm-CANH
sherckuith 0:8ef426505c79 76 GND -> 10KOhm-S-TJA1
sherckuith 0:8ef426505c79 77 GND -> 10KOhm-S-TJA2
sherckuith 0:8ef426505c79 78 */