CabBus simple example using CanBus Shield V01
Dependencies: mbed
main.cpp@0:5daadd838679, 2019-01-07 (annotated)
- Committer:
- Arkadi
- Date:
- Mon Jan 07 15:24:52 2019 +0000
- Revision:
- 0:5daadd838679
Simple can bus example using CanBus shield v01 and stm32F303k8
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Arkadi | 0:5daadd838679 | 1 | #include "mbed.h" |
Arkadi | 0:5daadd838679 | 2 | |
Arkadi | 0:5daadd838679 | 3 | Ticker ticker; |
Arkadi | 0:5daadd838679 | 4 | DigitalOut led1(LED1); |
Arkadi | 0:5daadd838679 | 5 | //The constructor takes in RX, and TX pin respectively. |
Arkadi | 0:5daadd838679 | 6 | CAN can1(D10, D2); |
Arkadi | 0:5daadd838679 | 7 | |
Arkadi | 0:5daadd838679 | 8 | char counter = 0; |
Arkadi | 0:5daadd838679 | 9 | |
Arkadi | 0:5daadd838679 | 10 | void send() { |
Arkadi | 0:5daadd838679 | 11 | if(can1.write(CANMessage(1337, &counter, 1))) { |
Arkadi | 0:5daadd838679 | 12 | printf("Message sent: %d\r\n", counter); |
Arkadi | 0:5daadd838679 | 13 | counter++; |
Arkadi | 0:5daadd838679 | 14 | } |
Arkadi | 0:5daadd838679 | 15 | //led1 = !led1; |
Arkadi | 0:5daadd838679 | 16 | } |
Arkadi | 0:5daadd838679 | 17 | |
Arkadi | 0:5daadd838679 | 18 | int main() { |
Arkadi | 0:5daadd838679 | 19 | ticker.attach(&send, 1); |
Arkadi | 0:5daadd838679 | 20 | CANMessage msg; |
Arkadi | 0:5daadd838679 | 21 | while(1) { |
Arkadi | 0:5daadd838679 | 22 | if(can1.read(msg)) { |
Arkadi | 0:5daadd838679 | 23 | printf("Message received: %d\r\n", msg.data[0]); |
Arkadi | 0:5daadd838679 | 24 | led1 = !led1; |
Arkadi | 0:5daadd838679 | 25 | } |
Arkadi | 0:5daadd838679 | 26 | wait(0.1); |
Arkadi | 0:5daadd838679 | 27 | |
Arkadi | 0:5daadd838679 | 28 | } |
Arkadi | 0:5daadd838679 | 29 | } |