Regarding (FLEXCAN_DRV_GetTransferStatus(INST_CANCOM1, RX_MAILBOX) == STATUS_BUSY);

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

Regarding (FLEXCAN_DRV_GetTransferStatus(INST_CANCOM1, RX_MAILBOX) == STATUS_BUSY);

333件の閲覧回数
RishikeshB
Contributor II

Hello NXP 

Can you please help me understand this command

(FLEXCAN_DRV_GetTransferStatus(INST_CANCOM1, RX_MAILBOX) == STATUS_BUSY);

and where can i see which flag is set at this time and how to clear that flag get out of status busy state

0 件の賞賛
返信
1 返信

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

Hi,

once message is successfully transmitted/received, a driver is calling message buffer interrupt to update driver's internal status variables, read received data and also clear MB interrupt flag, calling callbacks. So you are not clearing any flag.
FLEXCAN_DRV_GetTransferStatus is used to check that driver's internal status variable indicating if message buffer finishes previous receive or transmit process. Function returns STATUS_SUCCESS in case interrupt was already called and MB can be used again for RX or TX. STATUS_BUSY return value indicates previous receive or transmit is not finished. 
Check function code in flexcan_driver.c file.

BR, Petr

0 件の賞賛
返信