CAN LDD problem

cancel
Showing results for 
Search instead for 
Did you mean: 

CAN LDD problem

Jump to solution
693 Views
jordimerc
Contributor II

Hi all,

 

I'm using tha CAN LDD component into a twrk60n512 bsp, the problem I'm facing is that when I transmit a frame and there's no other node in the bus,

some ACK field of the frame it is not set by the receiver to dominant value,

in that case the transmitter interpretes it as an error so it begins to retry the frame tranmission

I want to disable this transmitter error check and I don't see such property inte the component

Any help/idea will be great!!!

 

Br's

 

Jordi

Labels (1)
Tags (1)
0 Kudos
1 Solution
279 Views
jiri_rezler
NXP Employee
NXP Employee

Hi Jordi,

 

Function of the CAN_LDD is correct, when a transmitting Frame isn’t received by some node (= it isn’t acknowledged), CAN device try send the frame again with OnError() event calling.

Aborting a transmission frame is possible do by CAN_PDD_SetMessageBufferCode() macro (it is macro defined in CAN_PDD.h library, must be included).

 

Example:

  CAN_PDD_SetMessageBufferCode(CAN1_BASE_PTR, 1U, CAN_PDD_MB_TX_ABORT);  // aborts a transmitting frame for CAN1 device, Message buffer 1

 

Best Regards,

J.R.

View solution in original post

0 Kudos
1 Reply
280 Views
jiri_rezler
NXP Employee
NXP Employee

Hi Jordi,

 

Function of the CAN_LDD is correct, when a transmitting Frame isn’t received by some node (= it isn’t acknowledged), CAN device try send the frame again with OnError() event calling.

Aborting a transmission frame is possible do by CAN_PDD_SetMessageBufferCode() macro (it is macro defined in CAN_PDD.h library, must be included).

 

Example:

  CAN_PDD_SetMessageBufferCode(CAN1_BASE_PTR, 1U, CAN_PDD_MB_TX_ABORT);  // aborts a transmitting frame for CAN1 device, Message buffer 1

 

Best Regards,

J.R.

0 Kudos