S32K CAN cannot resume sending and receiving data

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K CAN cannot resume sending and receiving data

2,600件の閲覧回数
1351291614
Contributor I

Hello,

               I met a problem, now is to use FLEXCAN bus when sent off after initialization, many times I will use the broken bus, typically within a minute to even the can bus to send and receive data, after a minute or more time I on the bus, he was unable to send data, I read the status register has a value of 0 x40080 ESR1, register status is normal, but the state - > MBS [mb_idx] = = FLEXCAN_MB_TX_BUSY,If the state - > MBS [mb_idx]!=FLEXCAN_MB_IDLE cannot emit data, how can I know this state?Looking forward to your reply,

   thank you

0 件の賞賛
返信
3 返答(返信)

1,978件の閲覧回数
emb02
Contributor V

Hi,

I'm also facing same problem. I'm using flexcan of S32K144 in which flexcan is not able to send data after receiving data. 

 I'm using single MB 9 for sending multiple messages and I'm getting MB state as flexcan_mb_tx_busy.

Can you help me with this?

 

Regards,

Akanksha

0 件の賞賛
返信

2,415件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi, 

this status read from ESR1 indicates the module is synchronized to the bus and see the bus idle.

So there could be issue with a driver. Which SDK version you are using?

You can try to call FLEXCAN_DRV_AbortTransfer() and see if it helps.

Also do you detect any errors during the time the FlexCAN appears to be working?

BR, Petr

0 件の賞賛
返信

2,415件の閲覧回数
1351291614
Contributor I

hi,

  I use the rtm3.0 SDK,Bus synchronization and idle 0x40080,I found a problem. Sometimes when I disconnect can? H, ESR1 is still 0x40080 sometimes, and sometimes it is in other error states, but it is stillstate - > MBS [mb_idx] = = FLEXCAN_MB_TX_BUSY。I can only use it FLEXCAN_DRV_AbortTransfer() when something goes wrong,But in normal condition, I should not call him, and whether he can send the received work or not, I should not use it. It's been a problem for a long time.

0 件の賞賛
返信