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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

291 Views
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 Kudos
1 Reply

287 Views
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 Kudos