When porting bootloader program, can message can be received but not sent.

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

When porting bootloader program, can message can be received but not sent.

710件の閲覧回数
yanren
Contributor I

When debugging to flexcan_ Flexcan under driver. C_ StaterSendData()--<if(state->mbs[mb_idx].state)!= FLEXCAN_ MB_ Idle >, the actual state is flexcan_ MB_ Busy, how to solve this problem?

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

663件の閲覧回数
yanren
Contributor I

I have solved this problem, because the sending status is modified in advance by other functions, resulting in that the information can be received and cannot be sent.

0 件の賞賛

678件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

the state flexcan_ MB_ Busy indicates the prepared message is still not successfully transmitted. Question could be why? Lets assume CAN transceiver circuitry is right and transceiver is active. Maybe some errors are detected, like ACK, bit error. If yes, it could be e.g. due to CAN bit setting. If no errors are detected, is the MB's mask interrupt bit still set? If not, I think the only option to leave this within code is to Abort the message using the respective API.

BR, Petr    

0 件の賞賛