Angel David Yaguana Hernandez
/
0_TUTO_CAN_to_CAN
(CAN) using any type of character and strings with a maxim of 8 bits
main.cpp@0:8ef426505c79, 2013-01-08 (annotated)
- 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?
User | Revision | Line number | New 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 | */ |