CAN transmit test

Committer:
richarda
Date:
Wed Jun 23 19:40:24 2010 +0000
Revision:
0:fc2ffe77c811
Child:
1:f93dfec45007

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
richarda 0:fc2ffe77c811 1 #include "mbed.h"
richarda 0:fc2ffe77c811 2
richarda 0:fc2ffe77c811 3 Ticker ticker;
richarda 0:fc2ffe77c811 4 Ticker t2;
richarda 0:fc2ffe77c811 5 DigitalOut led1(LED1);
richarda 0:fc2ffe77c811 6 DigitalOut led2(LED2);
richarda 0:fc2ffe77c811 7 //CAN can2(p9, p10);
richarda 0:fc2ffe77c811 8 CAN can2(p30, p29);
richarda 0:fc2ffe77c811 9 Serial pc(USBTX, USBRX); // tx, rx
richarda 0:fc2ffe77c811 10
richarda 0:fc2ffe77c811 11 char counter = 0;
richarda 0:fc2ffe77c811 12
richarda 0:fc2ffe77c811 13 void send() {
richarda 0:fc2ffe77c811 14 static char counter = 0;
richarda 0:fc2ffe77c811 15 if (can2.write(CANMessage(1337, &counter, 1))) {
richarda 0:fc2ffe77c811 16 printf("CanTx--> id: 0x200 dlc: 1 data: %x\n\r", counter);
richarda 0:fc2ffe77c811 17 led2 = !led2;
richarda 0:fc2ffe77c811 18 counter++;
richarda 0:fc2ffe77c811 19 } else
richarda 0:fc2ffe77c811 20 led2 = 0;
richarda 0:fc2ffe77c811 21 }
richarda 0:fc2ffe77c811 22
richarda 0:fc2ffe77c811 23 void blink() {
richarda 0:fc2ffe77c811 24 led1 = !led1;
richarda 0:fc2ffe77c811 25 }
richarda 0:fc2ffe77c811 26
richarda 0:fc2ffe77c811 27 int main() {
richarda 0:fc2ffe77c811 28 pc.printf("\nCAN Test\n");
richarda 0:fc2ffe77c811 29 //250kbit/s
richarda 0:fc2ffe77c811 30 can2.frequency(250000);
richarda 0:fc2ffe77c811 31 // every 500ms
richarda 0:fc2ffe77c811 32 ticker.attach(&send, 0.5);
richarda 0:fc2ffe77c811 33 t2.attach(&blink, 1.5);
richarda 0:fc2ffe77c811 34 while (1);
richarda 0:fc2ffe77c811 35 }