Rolf Meyer
/
canloopback
main.cpp@0:ad0e7b06ff45, 2009-12-14 (annotated)
- Committer:
- rolf
- Date:
- Mon Dec 14 12:11:26 2009 +0000
- Revision:
- 0:ad0e7b06ff45
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rolf | 0:ad0e7b06ff45 | 1 | #include "mbed.h" |
rolf | 0:ad0e7b06ff45 | 2 | |
rolf | 0:ad0e7b06ff45 | 3 | DigitalOut led1(LED1); |
rolf | 0:ad0e7b06ff45 | 4 | DigitalOut led2(LED2); |
rolf | 0:ad0e7b06ff45 | 5 | DigitalOut led4(LED4); |
rolf | 0:ad0e7b06ff45 | 6 | CAN can1(p9, p10); |
rolf | 0:ad0e7b06ff45 | 7 | CAN can2(p30, p29); |
rolf | 0:ad0e7b06ff45 | 8 | |
rolf | 0:ad0e7b06ff45 | 9 | int main() { |
rolf | 0:ad0e7b06ff45 | 10 | char count = 0; |
rolf | 0:ad0e7b06ff45 | 11 | CANMessage msg; |
rolf | 0:ad0e7b06ff45 | 12 | |
rolf | 0:ad0e7b06ff45 | 13 | while(1) { |
rolf | 0:ad0e7b06ff45 | 14 | if(can1.write(CANMessage(0x42, &count, 1))) { |
rolf | 0:ad0e7b06ff45 | 15 | led1 = 1; |
rolf | 0:ad0e7b06ff45 | 16 | } |
rolf | 0:ad0e7b06ff45 | 17 | |
rolf | 0:ad0e7b06ff45 | 18 | if(can2.read(msg)) { |
rolf | 0:ad0e7b06ff45 | 19 | if(count == msg.data[0]) { |
rolf | 0:ad0e7b06ff45 | 20 | led2 = !led2; |
rolf | 0:ad0e7b06ff45 | 21 | count++; |
rolf | 0:ad0e7b06ff45 | 22 | } |
rolf | 0:ad0e7b06ff45 | 23 | } |
rolf | 0:ad0e7b06ff45 | 24 | |
rolf | 0:ad0e7b06ff45 | 25 | wait(0.2); |
rolf | 0:ad0e7b06ff45 | 26 | led1 = led2 = 0; |
rolf | 0:ad0e7b06ff45 | 27 | led4 = !led4; |
rolf | 0:ad0e7b06ff45 | 28 | } |
rolf | 0:ad0e7b06ff45 | 29 | } |
rolf | 0:ad0e7b06ff45 | 30 | |
rolf | 0:ad0e7b06ff45 | 31 | /* |
rolf | 0:ad0e7b06ff45 | 32 | ___ (NXP TJA 1050) |
rolf | 0:ad0e7b06ff45 | 33 | ____+---|| ||---+ mbed TJA1 TJA2 |
rolf | 0:ad0e7b06ff45 | 34 | | |: |_v_| :|____ ---------------------- |
rolf | 0:ad0e7b06ff45 | 35 | GND |: m = w :| | VV Vcc Vcc |
rolf | 0:ad0e7b06ff45 | 36 | | |: --- :| VV(5.0V) GND GND GND |
rolf | 0:ad0e7b06ff45 | 37 | | |: I O I :| | p9 RXD - |
rolf | 0:ad0e7b06ff45 | 38 | | +-=|: --- :| | p10 TXD - |
rolf | 0:ad0e7b06ff45 | 39 | | | ||: +-----+ :|=-+ | p29 - TXD |
rolf | 0:ad0e7b06ff45 | 40 | | | ||: | | :|| | | p30 - RXD |
rolf | 0:ad0e7b06ff45 | 41 | | | ||: | | :|| | | - CANL CANL |
rolf | 0:ad0e7b06ff45 | 42 | | | ||: +-----+ :|| | | - CANH CANH |
rolf | 0:ad0e7b06ff45 | 43 | | | ||: = = = = :|| | | |
rolf | 0:ad0e7b06ff45 | 44 | _____ | | |+-----------+| | | |
rolf | 0:ad0e7b06ff45 | 45 | |/TJA |-|-+ | | | | |
rolf | 0:ad0e7b06ff45 | 46 | +--|/1050|-|---|-------------|-|-+ |
rolf | 0:ad0e7b06ff45 | 47 | | +|/ |-+ | | | | |
rolf | 0:ad0e7b06ff45 | 48 | | ||/____|-|---+ | | | |
rolf | 0:ad0e7b06ff45 | 49 | | | _____ | | | | |
rolf | 0:ad0e7b06ff45 | 50 | | ||/TJA |-|-----------------+ | | |
rolf | 0:ad0e7b06ff45 | 51 | +-||/1050|-|-------------------|-+ |
rolf | 0:ad0e7b06ff45 | 52 | +|/ |-+ | |
rolf | 0:ad0e7b06ff45 | 53 | |/____|---------------------+ |
rolf | 0:ad0e7b06ff45 | 54 | ^-- rounded side |
rolf | 0:ad0e7b06ff45 | 55 | */ |