Annick Senecal
/
Cacanne
Laboratoire de CAN du cours SOI
main.cpp
- Committer:
- annicksenecal
- Date:
- 2013-12-15
- Revision:
- 1:48351dcae5b4
- Parent:
- 0:fead003a74cb
- Child:
- 2:cad8d2ec9667
File content as of revision 1:48351dcae5b4:
#include "mbed.h" #include "rtos.h" DigitalOut led1(LED1); DigitalOut led2(LED2); CAN can1(p9, p10); CAN can2(p30, p29); void sendCan1(void const *args) { char counter1 = 80; while(1) { printf("send()\n"); if(can1.write(CANMessage(0x0480, &counter1, 1))) { printf("wloop()\n"); printf("Message sent: %d\n", counter1); counter1++; } if (counter1 >89) { counter1 = 80; } led1 = !led1; Thread::wait(1842); } } void sendCan2(void const *args) { char counter2 = 180; while(1) { printf("send()\n"); if(can1.write(CANMessage(0x0580,&counter2,1))) { printf("wloop()\n"); printf("Message sent: %d\n", counter2); counter2++; } if (counter2 >189) { counter2 = 180; } led1 = !led1; Thread::wait(2351); } } void receptionMsg(void const *args) { CANMessage msg; while(1) { printf("reception()\n"); if(can2.read(msg)) printf("Message received: %x\n", msg.id); if (msg.id == 1234) printf("Message received: %d\n", msg.data[0]); Thread::wait(958); led2 = !led2; } } int main() { printf("main()\n"); Thread thread1(sendCan1); Thread thread2(sendCan2); Thread thread3(receptionMsg); while(true); }