CabBus simple example using CanBus Shield V01
Dependencies: mbed
can_example.txt@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 | |
Arkadi | 0:5daadd838679 | 4 | Ticker ticker; |
Arkadi | 0:5daadd838679 | 5 | DigitalOut led1(LED1); |
Arkadi | 0:5daadd838679 | 6 | DigitalOut led2(LED2); |
Arkadi | 0:5daadd838679 | 7 | //The constructor takes in RX, and TX pin respectively. |
Arkadi | 0:5daadd838679 | 8 | //These pins, for this example, are defined in mbed_app.json |
Arkadi | 0:5daadd838679 | 9 | CAN can1(MBED_CONF_APP_CAN1_RD, MBED_CONF_APP_CAN1_TD); |
Arkadi | 0:5daadd838679 | 10 | CAN can2(MBED_CONF_APP_CAN2_RD, MBED_CONF_APP_CAN2_TD); |
Arkadi | 0:5daadd838679 | 11 | |
Arkadi | 0:5daadd838679 | 12 | char counter = 0; |
Arkadi | 0:5daadd838679 | 13 | |
Arkadi | 0:5daadd838679 | 14 | void send() { |
Arkadi | 0:5daadd838679 | 15 | if(can1.write(CANMessage(1337, &counter, 1))) { |
Arkadi | 0:5daadd838679 | 16 | printf("Message sent: %d\n", counter); |
Arkadi | 0:5daadd838679 | 17 | counter++; |
Arkadi | 0:5daadd838679 | 18 | } |
Arkadi | 0:5daadd838679 | 19 | led1 = !led1; |
Arkadi | 0:5daadd838679 | 20 | } |
Arkadi | 0:5daadd838679 | 21 | |
Arkadi | 0:5daadd838679 | 22 | int main() { |
Arkadi | 0:5daadd838679 | 23 | ticker.attach(&send, 1); |
Arkadi | 0:5daadd838679 | 24 | CANMessage msg; |
Arkadi | 0:5daadd838679 | 25 | while(1) { |
Arkadi | 0:5daadd838679 | 26 | if(can2.read(msg)) { |
Arkadi | 0:5daadd838679 | 27 | printf("Message received: %d\n\n", msg.data[0]); |
Arkadi | 0:5daadd838679 | 28 | led2 = !led2; |
Arkadi | 0:5daadd838679 | 29 | } |
Arkadi | 0:5daadd838679 | 30 | wait(0.2); |
Arkadi | 0:5daadd838679 | 31 | } |
Arkadi | 0:5daadd838679 | 32 | } |