Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 6 months ago.
CAN on LPCXpresso1549
Hi, Is CAN implemented yet on this board? I try to run some simple CAN code on this device, but nothing seems to happen. I put some LEDs in my CAN tx and CAN rx functions, but with no activity. Allso the led in the main function is not blinking.
Here is the code:
#include "mbed.h"
DigitalOut r1(LED1);
DigitalOut g1(LED2);
DigitalOut b1(LED3);
CAN can(P0_11, P0_31);
Ticker tick;
Serial pc(USBTX,USBRX);
CANMessage msg;
char data[8];
void __can_rx ()
{
b1=!b1;
pc.printf("CAN PACKET RECIEVED...\r\n");
pc.printf("======================\r\n");
for(int i= 0; i< 8; i++) {
pc.printf("DATA [%i] = %#04X \r\n",i,msg.data[i]);
}
pc.printf("\033[3A");
}
void __can_tx()
{
g1 = !g1;
data[0] = (char)(0x01); //EC1 status req
data[1] = (char)(0x02);
data[2] = (char)(0x03);
data[3] = (char)(0x04);
data[4] = (char)(0x05);
data[5] = (char)(0x06);
data[6] = (char)(0x07);
data[7] = (char)(rand()%255);
if(can.write(CANMessage(0x55,data,8))) {}
}
int main()
{
can.frequency(500000); //CAN at 500k
can.attach(&__can_rx); //ISR for can
tick.attach(&__can_tx, 1.0);
pc.baud(921600);
pc.printf("HELLO, THIS IS A SIMPLE CAN BUTTSNIFFER! \r\n");
while(1) {
r1 = !r1;
wait(0.5);
}
}
So, any help would be appreciated.
Nevermind...it works now. I have commented all regarding CAN, then recompiled the project. Then I uncommented step by step CAN features, and at the end everything worked fine...go figure. RGDS
posted by Gorazd Rosbach 12 May 2017