Hi,
I'm working on a recieve only CAN application that reads data from a sensor.
I planned to retrieve data with FLEXCAN_TransferReceiveNonBlocking but realized that status is constantly set to kStatus_FLEXCAN_RxBusy even with no sensor connected at all. A call to FLEXCAN_TransferHandleIRQ(EXAMPLE_CAN, &flexcanHandle); will invoke the callback with status set to kStatus_FLEXCAN_UnHandled. Something obviously seems to be wrong, does anyone have any hints how to best troubleshoot this? The callback looks like this:
static void flexcan_callback(CAN_Type *base, flexcan_handle_t *handle, status_t status, uint32_t result, void *userData)
{
switch (status)
{
/* Process FlexCAN Rx event. */
case kStatus_FLEXCAN_RxIdle:
if (RX_MESSAGE_BUFFER_NUM == result) {
rxComplete = true;
}
LOG_INFO("kStatus_FLEXCAN_RxIdle\r\n");
break;
case kStatus_FLEXCAN_UnHandled:
LOG_INFO("kStatus_FLEXCAN_UnHandled\r\n");
break;
default:
LOG_INFO("in flexcan_cb, status 0x%x(%d)\r\n",status,status);
}
}
Thanks!