mirror of https://github.com/ARMmbed/mbed-os.git
Add test case MBED_30 and MBED_31 to test CAN api
parent
f685efa9b2
commit
48fc1aa49d
|
|
@ -0,0 +1,40 @@
|
|||
#include "mbed.h"
|
||||
|
||||
Ticker ticker;
|
||||
DigitalOut led1(LED1);
|
||||
DigitalOut led2(LED2);
|
||||
CAN can1(p9, p10);
|
||||
CAN can2(p30, p29);
|
||||
char counter = 0;
|
||||
|
||||
void printmsg(char *title, CANMessage *msg) {
|
||||
printf("%s [%03X]", title, msg->id);
|
||||
for(char i = 0; i < msg->len; i++) {
|
||||
printf(" %02X", msg->data[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void send() {
|
||||
printf("send()\n");
|
||||
CANMessage msg = CANMessage(1337, &counter, 1);
|
||||
if(can1.write(msg)) {
|
||||
printmsg("Tx message:", &msg);
|
||||
counter++;
|
||||
}
|
||||
led1 = !led1;
|
||||
}
|
||||
|
||||
int main() {
|
||||
printf("main()\n");
|
||||
ticker.attach(&send, 1);
|
||||
CANMessage msg;
|
||||
while(1) {
|
||||
printf("loop()\n");
|
||||
if(can1.read(msg)) {
|
||||
printmsg("Rx message:", &msg);
|
||||
led2 = !led2;
|
||||
}
|
||||
wait(0.2);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
#include "mbed.h"
|
||||
|
||||
Ticker ticker;
|
||||
DigitalOut led1(LED1);
|
||||
DigitalOut led2(LED2);
|
||||
CAN can1(p9, p10);
|
||||
CAN can2(p30, p29);
|
||||
char counter = 0;
|
||||
|
||||
void printmsg(char *title, CANMessage *msg) {
|
||||
printf("%s [%03X]", title, msg->id);
|
||||
for(char i = 0; i < msg->len; i++) {
|
||||
printf(" %02X", msg->data[i]);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void send() {
|
||||
printf("send()\n");
|
||||
CANMessage msg = CANMessage(1337, &counter, 1);
|
||||
if(can1.write(msg)) {
|
||||
printmsg("Tx message:", &msg);
|
||||
counter++;
|
||||
}
|
||||
led1 = !led1;
|
||||
}
|
||||
|
||||
void read() {
|
||||
CANMessage msg;
|
||||
printf("rx()\n");
|
||||
if(can1.read(msg)) {
|
||||
printmsg("Rx message:", &msg);
|
||||
led2 = !led2;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
printf("main()\n");
|
||||
ticker.attach(&send, 1);
|
||||
can1.attach(&read);
|
||||
while(1) {
|
||||
printf("loop()\n");
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
|
@ -369,6 +369,18 @@ TESTS = [
|
|||
"source_dir": join(TEST_DIR, "mbed", "interrupt_chaining", "ticker"),
|
||||
"dependencies": [MBED_LIBRARIES, TEST_MBED_LIB],
|
||||
},
|
||||
{
|
||||
"id": "MBED_30", "description": "CAN network test",
|
||||
"source_dir": join(TEST_DIR, "mbed", "can"),
|
||||
"dependencies": [MBED_LIBRARIES],
|
||||
"mcu": ["LPC1768"]
|
||||
},
|
||||
{
|
||||
"id": "MBED_31", "description": "CAN network test using interrupts",
|
||||
"source_dir": join(TEST_DIR, "mbed", "can_interrupt"),
|
||||
"dependencies": [MBED_LIBRARIES],
|
||||
"mcu": ["LPC1768"]
|
||||
},
|
||||
|
||||
# CMSIS RTOS tests
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue