CAN LDD problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CAN LDD problem

Jump to solution
1,467 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
1,053 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
1,054 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