Angel David Yaguana Hernandez
/
0_TUTO_CAN_to_CAN
(CAN) using any type of character and strings with a maxim of 8 bits
Diff: main.cpp
- Revision:
- 0:8ef426505c79
- Child:
- 1:328932c34ba1
diff -r 000000000000 -r 8ef426505c79 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Jan 08 06:15:53 2013 +0000 @@ -0,0 +1,78 @@ +#include "mbed.h" +#include "CAN.h" + +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); +CAN can1(p9, p10); +CAN can2(p30, p29); +Serial pc(USBTX,USBRX); //tx. rx + +int main() +{ + char a[8] = {0x6D,0x62,0x65,0x64,0x00,0x00,0x00,0x00}; + char b[5] = "hola"; + char c[8] = {"1234567"}; + const char d[8] = {0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x00}; + CANMessage msg; + pc.baud(9600); + can1.frequency(125000); + can2.frequency(125000); + while(1) { + if(can2.read(msg)) + led1 = 1; + + /***********inicio de comunicacion****************************/ + pc.printf("************************************\n\r"); + can1.write(CANMessage(01, &a[0], 8)); + pc.printf("write a: %s ",&a[0]); + if(can2.read(msg)) { + led1 = 1;led2 = 0;led3 = 0;led4 = 0; + pc.printf("read a:-%s-\n",&msg.data[0]); + } + can1.write(CANMessage(01, &b[0], 4)); + pc.printf("write b: %s ",&b[0]); + if(can2.read(msg)) { + led1 = 0;led2 = 2;led3 = 0;led4 = 0; + pc.printf("read b:-%s-\n",&msg.data[0]); + } + can1.write(CANMessage(01, &c[0], 8)); + pc.printf("write c: %s ",&c[0]); + if(can2.read(msg)) { + led1 = 0;led2 = 0;led3 = 3;led4 = 0; + pc.printf("read c:-%s-\n",&msg.data[0]); + } + can1.write(CANMessage(01, &d[0], 8)); + pc.printf("write d: %s ",&d[0]); + if(can2.read(msg)) { + led1 = 0;led2 = 0;led3 = 0;led4 = 4; + pc.printf("read d:-%s-\n",&msg.data[0]); + } + //wait(0.25); + led1 = 0;led2 = 0;led3 = 0;led4 = 0; + + /************************fin**********************************/ + } +} + + +/* + (NXP TJA 1051/3) +mbed TJA1 TJA2 +---------------------- +5V Vcc Vcc +GND GND GND +p9 RXD - +p10 TXD - +p29 - TXD +p30 - RXD +- CANL CANL +- CANH CANH +3.3v Vio Vio + +GND -> 60Ohm-CANL +GND -> 60Ohm-CANH +GND -> 10KOhm-S-TJA1 +GND -> 10KOhm-S-TJA2 +*/ \ No newline at end of file