set flexcan to Listen-Only mode, RX interrupt abnormal

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

set flexcan to Listen-Only mode, RX interrupt abnormal

2,666 次查看
liuning_neu
Contributor II

hi  nxp  S32K expert :

  

   I use S32K148,  for flexcan module,I want to Switch off transmit path, because i can not find the right way to do it, so i choose set flexcan  to  Listen-Only mode.  after i set  flexcan  to  Listen-Only mode, when flexcan receive a  can message, it enter  FLEXCAN_Error_IRQHandler,  not  enter FLEXCAN_IRQHandler.   my destination is  set  flexcan  to  Listen-Only mode,  when flexcan receive a  can message,  it enter FLEXCAN_IRQHandler.   in my opinion  ,the result  identify  RX interrupt are functional in LOM mode abnormally.

my question:

1:    I want to konw the result is right or wrong?  if it is wrong , what is the right way to realize it?

2:    Is there other way to realize  Switch off transmit path  of flexcan

my codes as following:

/* enter freeze mode */

 FLEXCAN_EnterFreezeMode(base);
/* Select mode */
FLEXCAN_SetOperationMode(base, FLEXCAN_LISTEN_ONLY_MODE);

/* exit freeze mode*/
FLEXCAN_ExitFreezeMode(base);

4 回复数

2,583 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

it could be expected behavior, if a message is not acknowledged by other node

pastedImage_1.png

BR, Petr

0 项奖励
回复

2,583 次查看
liuning_neu
Contributor II

hi  Petr Stancik:

   how to realize  a message is acknowledged by other node?  could you tell me the specific operation or where i can get it ?

0 项奖励
回复

2,583 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi,

you should have another active CAN node on the bus, which acknowledges the message. Every active node, that is able to transmit/receive, acknowledge a message on the bus, this is autonomous behavior as per CAN standard.

BR, Petr

2,583 次查看
liuning_neu
Contributor II

thank you very muchPetr Stancik

0 项奖励
回复