CAN LDD problem

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
834件の閲覧回数
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

ラベル(1)
タグ(1)
0 件の賞賛
1 解決策
420件の閲覧回数
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 件の賞賛
1 返信
421件の閲覧回数
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 件の賞賛