FLEXCAN-TransferReceiveNonBlocking quickly fails to generate a callback function after initializatio

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

FLEXCAN-TransferReceiveNonBlocking quickly fails to generate a callback function after initializatio

跳至解决方案
2,074 次查看
Bo_yun
Contributor I

    Hello, I would like to use flexcan on a development board based on imx 8mp. During the process, I referred to the routine "evkmimx8mp flexcan_interrupt_transfer". Then make modifications based on this routine. Since we did not use CANFD, I have removed the code related to CANFD from the program. The modified code is as follows.
    There is a problem now that if CAN_init() is executed immediately, CAN_send() can be executed to successfully send CAN messages (i.e. enter the callback function). If CAN_send() is executed a few seconds after CAN_init(), the message cannot be sent. The return value of FLEXCAN-TransferSendNonBlocking shows normal execution, indicating that the callback function can no longer be entered.
    I added the flexcan code based on Hello World, and I suspect that the interrupt set by CAN in the initialization function was quickly restored. However, there is no other interrupt set in the program, so I would like to ask what is the reason for this? And how to solve it, thank you

#define FLCAN1 FLEXCAN1
#define CAN1_CLK_FREQ                                                                    \
    (CLOCK_GetPllFreq(kCLOCK_SystemPll1Ctrl) / (CLOCK_GetRootPreDivider(kCLOCK_RootFlexCan1)) / \
     (CLOCK_GetRootPostDivider(kCLOCK_RootFlexCan1)))

#define USE_IMPROVED_TIMING_CONFIG_CAN1 (1U)
#define RX_MESSAGE_BUFFER_NUM_CAN1 (9)
#define TX_MESSAGE_BUFFER_NUM_CAN1 (8)
#define DLC_CAN1 (8)
 
flexcan_handle_t flexcan1Handle;            
flexcan_mb_transfer_t txXfer_can1, rxXfer_can1;       
flexcan_frame_t txFrame_can1, rxFrame_can1;
uint32_t txIdentifier = 0x321;
uint32_t rxIdentifier = 0x123;
uint8_t txData_can1[8] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};

volatile bool txComplete_can1 = false;
volatile bool rxComplete_can1 = false;
volatile bool wakenUp    = false;

 
static FLEXCAN_CALLBACK(flexcan_callback)
{
    PRINTF("mmmmmmmmmmmmmmmmmmmmm");
    switch (status)
    {
        case kStatus_Success:
            
            PRINTF("CAN message sent successfully.\n");
            break;

        case kStatus_FLEXCAN_RxIdle: 
            PRINTF("CAN Rx idle.\r\n");
            if (RX_MESSAGE_BUFFER_NUM_CAN1 == result)
            {
                rxComplete_can1 = true;
            }
            else
            {
                PRINTF("CAN Rx error.\n");
            }
            break;

        case kStatus_FLEXCAN_TxIdle:
            PRINTF("CAN Tx idle.\r\n");
            if (TX_MESSAGE_BUFFER_NUM_CAN1 == result)
            {
                txComplete_can1 = true;
            }
            else
            {
                PRINTF("CAN Tx error.\n");
            }
            break;
       
        case kStatus_FLEXCAN_TxBusy:
            
            PRINTF("CAN Tx busy.\n");
            break;

        case kStatus_FLEXCAN_ErrorStatus:
            
            PRINTF("CAN error status.\n");
            break;

        default:
            PRINTF("Unknown status: %d\n", status);
            break;
    }
}

 
void CAN_Init(void)
{  
    CLOCK_SetRootMux(kCLOCK_RootFlexCan1, kCLOCK_FlexCanRootmuxSysPll1);
    CLOCK_SetRootDivider(kCLOCK_RootFlexCan1, 2U, 5U);                   
   
 
    flexcan_config_t flexcan1Config;
    FLEXCAN_GetDefaultConfig(&flexcan1Config);
    flexcan1Config.bitRate=50000U;

 
    flexcan_timing_config_t timing1_config;  
    memset(&timing1_config, 0, sizeof(flexcan_timing_config_t));
    if (FLEXCAN_CalculateImprovedTimingValues(FLCAN1, flexcan1Config.bitRate, CAN1_CLK_FREQ, &timing1_config))
    {
        memcpy(&(flexcan1Config.timingConfig), &timing1_config, sizeof(flexcan_timing_config_t));
    }

   
    FLEXCAN_Init(FLCAN1, &flexcan1Config, CAN1_CLK_FREQ);
    FLEXCAN_TransferCreateHandle(FLCAN1, &flexcan1Handle, flexcan_callback, NULL);      
    FLEXCAN_SetRxMbGlobalMask(FLCAN1, FLEXCAN_RX_MB_STD_MASK(rxIdentifier, 0, 0));

    
    flexcan_rx_mb_config_t mbConfig_can1; 
    mbConfig_can1.format = kFLEXCAN_FrameFormatStandard;
    mbConfig_can1.type   = kFLEXCAN_FrameTypeData;
    mbConfig_can1.id     = FLEXCAN_ID_STD(rxIdentifier);

    FLEXCAN_SetRxMbConfig(FLCAN1, RX_MESSAGE_BUFFER_NUM_CAN1, &mbConfig_can1, true);
    FLEXCAN_SetTxMbConfig(FLCAN1, TX_MESSAGE_BUFFER_NUM_CAN1, true);

    
    // FLEXCAN_EnableInterrupts(FLEXCAN1, kFLEXCAN_TxWarningInterruptEnable | kFLEXCAN_RxWarningInterruptEnable);
}
 
 
void CAN_Send(void)
{

    txData_can1[0]++;

    txFrame_can1.id     = FLEXCAN_ID_STD(txIdentifier);
    txFrame_can1.format = (uint8_t)kFLEXCAN_FrameFormatStandard;       
    txFrame_can1.type   = (uint8_t)kFLEXCAN_FrameTypeData;             
    txFrame_can1.length = (uint8_t)DLC_CAN1;
    txFrame_can1.dataWord0 = CAN_WORD0_DATA_BYTE_0(txData_can1[0]) | CAN_WORD0_DATA_BYTE_1(txData_can1[1]) |
                        CAN_WORD0_DATA_BYTE_2(txData_can1[2]) | CAN_WORD0_DATA_BYTE_3(txData_can1[3]);
    txFrame_can1.dataWord1 = CAN_WORD1_DATA_BYTE_4(txData_can1[4]) | CAN_WORD1_DATA_BYTE_5(txData_can1[5]) |
                        CAN_WORD1_DATA_BYTE_6(txData_can1[6]) | CAN_WORD1_DATA_BYTE_7(txData_can1[7]);
    txXfer_can1.mbIdx = (uint8_t)TX_MESSAGE_BUFFER_NUM_CAN1;         

    txXfer_can1.frame = &txFrame_can1;                               
    PRINTF("dddddddddd\r\n");
    status_t status=FLEXCAN_TransferSendNonBlocking(FLCAN1, &flexcan1Handle, &txXfer_can1);     
    if (status != kStatus_Success) {
        PRINTF("Failed to start non-blocking transfer: %d\n", status);
    } else {
        PRINTF("Non-blocking transfer started successfully.\n");
    }

    while (!txComplete_can1)
    {
       
    }
    txComplete_can1 = false;
    PRINTF("tx word0 = 0x%x\r\n", txFrame_can1.dataWord0);
    PRINTF("tx word1 = 0x%x\r\n", txFrame_can1.dataWord1);
}
0 项奖励
回复
1 解答
2,059 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You better try the Demo sample that comes with linux BSP, it initialize your board and transfer the data. please check it:

https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for...

Regards

 

在原帖中查看解决方案

0 项奖励
回复
2 回复数
2,060 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You better try the Demo sample that comes with linux BSP, it initialize your board and transfer the data. please check it:

https://www.nxp.com/design/design-center/software/embedded-software/i-mx-software/embedded-linux-for...

Regards

 

0 项奖励
回复
2,041 次查看
Bo_yun
Contributor I

Thank you very much for your suggestion. But we plan to drive CAN communication on the 8mp M-core. Previously, the demo "evkmimx8mp flexcan_interrupt_transfer" was obtained from SDK (2.15), but after being rewritten, it was placed in our own project and resulted in the inability to enter the callback function

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1897478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EFLEXCAN-TransferReceiveNonBlocking%E5%88%9D%E5%A7%8B%E5%8C%96%E5%90%8E%E5%BE%88%E5%BF%AB%E7%94%9F%E6%88%90%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E5%A4%B1%E8%B4%A5%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1897478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E6%88%91%E6%83%B3%E5%9C%A8%E5%9F%BA%E4%BA%8Eimx%208mp%E7%9A%84%E5%BC%80%E5%8F%91%E6%9D%BF%E4%B8%8A%E4%BD%BF%E7%94%A8flexcan%E3%80%82%E5%9C%A8%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E4%B8%AD%EF%BC%8C%E6%88%91%E5%8F%82%E8%80%83%E4%BA%86%E4%BE%8B%E7%A8%8B%E2%80%9Cevkmimx8mp%20flexcan_interrupt_transfer%E2%80%9D%E3%80%82%E7%84%B6%E5%90%8E%E6%A0%B9%E6%8D%AE%E8%BF%99%E4%B8%AA%E4%BE%8B%E7%A8%8B%E8%BF%9B%E8%A1%8C%E4%BF%AE%E6%94%B9%E3%80%82%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%B2%A1%E6%9C%89%E4%BD%BF%E7%94%A8CANFD%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%8E%E7%A8%8B%E5%BA%8F%E4%B8%AD%E5%88%A0%E9%99%A4%E4%BA%86%E4%B8%8ECANFD%E7%9B%B8%E5%85%B3%E7%9A%84%E4%BB%A3%E7%A0%81%E3%80%82%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84%E4%BB%A3%E7%A0%81%E5%A6%82%E4%B8%8B%E3%80%82%3CBR%20%2F%3E%E7%8E%B0%E5%9C%A8%E6%9C%89%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%8C%E5%A6%82%E6%9E%9C%E7%AB%8B%E5%8D%B3%E6%89%A7%E8%A1%8C%20CAN_init()%EF%BC%8C%E6%89%8D%E8%83%BD%E6%89%A7%E8%A1%8C%20CAN_send()%20%E6%88%90%E5%8A%9F%E5%8F%91%E9%80%81%20CAN%20%E6%8A%A5%E6%96%87%EF%BC%88%E5%8D%B3%E8%BF%9B%E5%85%A5%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%EF%BC%89%E3%80%82%E5%A6%82%E6%9E%9C%E5%9C%A8%20CAN_init()%20%E4%B9%8B%E5%90%8E%E5%87%A0%E7%A7%92%E6%89%A7%E8%A1%8C%20CAN_send()%EF%BC%8C%E5%88%99%E6%97%A0%E6%B3%95%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF%E3%80%82FLEXCAN-TransferSendNonBlocking%E7%9A%84%E8%BF%94%E5%9B%9E%E5%80%BC%E6%98%BE%E7%A4%BA%E6%89%A7%E8%A1%8C%E6%AD%A3%E5%B8%B8%EF%BC%8C%E8%AF%B4%E6%98%8E%E5%B7%B2%E7%BB%8F%E6%97%A0%E6%B3%95%E8%BF%9B%E5%85%A5%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E4%BA%86%E3%80%82%3CBR%20%2F%3E%E6%88%91%E6%A0%B9%E6%8D%AEHello%20World%E6%B7%BB%E5%8A%A0%E4%BA%86flexcan%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%80%80%E7%96%91%E5%88%9D%E5%A7%8B%E5%8C%96%E5%87%BD%E6%95%B0%E4%B8%ADCAN%E8%AE%BE%E7%BD%AE%E7%9A%84%E4%B8%AD%E6%96%AD%E5%BE%88%E5%BF%AB%E5%B0%B1%E6%81%A2%E5%A4%8D%E4%BA%86%E3%80%82%E4%BD%86%E6%98%AF%E7%A8%8B%E5%BA%8F%E4%B8%AD%E5%B9%B6%E6%B2%A1%E6%9C%89%E8%AE%BE%E7%BD%AE%E5%85%B6%E4%BB%96%E4%B8%AD%E6%96%AD%EF%BC%8C%E8%AF%B7%E9%97%AE%E8%BF%99%E6%98%AF%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E9%80%A0%E6%88%90%E7%9A%84%EF%BC%9F%E8%BF%98%E6%9C%89%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%EF%BC%8C%E8%B0%A2%E8%B0%A2%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3E%23%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3EFLEXCAN1%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3CSPAN%3ECAN1_CLK_FREQ%3C%2FSPAN%3E%20%3CSPAN%3E%5C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3ECLOCK_GetPllFreq%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EkCLOCK_SystemPll1Ctrl%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%2F%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3ECLOCK_GetRootPreDivider%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EkCLOCK_RootFlexCan1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%2F%3C%2FSPAN%3E%20%3CSPAN%3E%5C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3ECLOCK_GetRootPostDivider%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EkCLOCK_RootFlexCan1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%89%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%23%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3CSPAN%3EUSE_IMPROVED_TIMING_CONFIG_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E1%3C%2FSPAN%3E%20%3CSPAN%3EU%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3CSPAN%3ERX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E9%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3CSPAN%3ETX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E8%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%23%E5%AE%9A%E4%B9%89%3C%2FSPAN%3E%3CSPAN%3EDLC_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E8%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3Eflexcan_handle_t%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan1Handle%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eflexcan_mb_transfer_t%3C%2FSPAN%3E%20%3CSPAN%3EtxXfer_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3ErxXfer_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eflexcan_frame_t%3C%2FSPAN%3E%20%3CSPAN%3EtxFrame_can1%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3ErxFrame_can1%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%20%3CSPAN%3EtxIdentifier%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E321%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%20%3CSPAN%3ErxIdentifier%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E123%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E8%3C%2FSPAN%3E%3CSPAN%3E%5D%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E00%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E01%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E02%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E03%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E04%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E05%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E06%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0x%3C%2FSPAN%3E%3CSPAN%3E07%3C%2FSPAN%3E%3CSPAN%3E%7D%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%E6%98%93%E5%A4%B1%E6%80%A7%3C%2FSPAN%3E%3CSPAN%3Ebool%3C%2FSPAN%3E%20%3CSPAN%3EtxComplete_can1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Efalse%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E6%98%93%E5%A4%B1%E6%80%A7%3C%2FSPAN%3E%3CSPAN%3Ebool%3C%2FSPAN%3E%20%3CSPAN%3ErxComplete_can1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Efalse%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E6%98%93%E5%A4%B1%E6%80%A7%3C%2FSPAN%3E%3CSPAN%3E%E5%B8%83%E5%B0%94%3C%2FSPAN%3E%3CSPAN%3E%E5%94%A4%E9%86%92%3C%2FSPAN%3E%3CSPAN%3E%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%E5%81%87%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E9%9D%99%E6%80%81%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_CALLBACK%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan_callback%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%E2%80%9Cmmmmmmmmmmmmmmmmmmmm%E2%80%9D%3C%2FSPAN%3E%20%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E5%BC%80%E5%85%B3%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%3CSPAN%3E%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E6%A1%88%E4%BE%8B%3C%2FSPAN%3E%3CSPAN%3EkStatus_Success%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81%E6%88%90%E5%8A%9F%E3%80%82%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ebreak%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E6%A1%88%E4%BE%8B%3C%2FSPAN%3E%3CSPAN%3Ekstatus_flexcan_rxidle%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9A%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20Rx%20%E7%A9%BA%E9%97%B2.%5Cr%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3ERX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3D%3C%2FSPAN%3E%3CSPAN%3E%E7%BB%93%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3ErxComplete_can1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%E7%9C%9F%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eelse%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20Rx%20%E9%94%99%E8%AF%AF%E3%80%82%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ebreak%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E6%A1%88%E4%BE%8B%3C%2FSPAN%3E%3CSPAN%3Ekstatus_flexcan_txidle%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20Tx%20%E7%A9%BA%E9%97%B2.%5Cr%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3ETX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3D%3C%2FSPAN%3E%3CSPAN%3E%E7%BB%93%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxComplete_can1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%E7%9C%9F%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eelse%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20Tx%20%E9%94%99%E8%AF%AF%E3%80%82%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ebreak%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E6%83%85%E5%86%B5%3C%2FSPAN%3E%3CSPAN%3Ekstatus_flexcan_txbusy%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20Tx%20%E5%BF%99%E3%80%82%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ebreak%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E6%A1%88%E4%BE%8B%3C%2FSPAN%3E%3CSPAN%3Ekstatus_flexcan_%E9%94%99%E8%AF%AF%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22CAN%20%E9%94%99%E8%AF%AF%E7%8A%B6%E6%80%81.%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ebreak%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E9%BB%98%E8%AE%A4%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22%E6%9C%AA%E7%9F%A5%E7%8A%B6%E6%80%81%EF%BC%9A%3C%2FSPAN%3E%20%3CSPAN%3E%25d%3C%2FSPAN%3E%20%3CSPAN%3E%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E%2C%3C%2FSPAN%3E%20%3CSPAN%3Estatus%3C%2FSPAN%3E%20%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ebreak%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3ECAN_Init%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3ECLOCK_SetRootMux%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_RootFlexCan1%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_FlexCanRootmuxSysPll1%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3ECLOCK_SetRootDivider%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_RootFlexCan1%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E2%3C%2FSPAN%3E%3CSPAN%3EU%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E5%3C%2FSPAN%3E%3CSPAN%3EU%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eflexcan_config_t%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan1%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_GetDefaultConfig%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3Eflexcan1Config%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eflexcan1Config.bitRate%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E50000%3C%2FSPAN%3E%20%3CSPAN%3EU%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eflexcan_timing_config_t%3C%2FSPAN%3E%20%3CSPAN%3Etiming1_config%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ememset%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3Etiming1_config%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E0%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3Esizeof%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan_timing_config_t%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLEXCAN_CalculateImprovedTimingValues%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan1Config.bitRate%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3ECAN1_CLK_FREQ%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3Etiming1_config%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Ememcpy%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eflexcan1Config%3C%2FSPAN%3E%3CSPAN%3E.timingConfig)%2C%20%3C%2FSPAN%3E%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%3CSPAN%3Etiming1_config%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3Esizeof%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Eflexcan_timing_config_t%3C%2FSPAN%3E%3CSPAN%3E))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_Init%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan1Config%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3ECAN1_CLK_FREQ%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_TransferCreateHandle%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan1Handle%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan_callback%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3ENULL%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_SetRxMbGlobalMask%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_RX_MB_STD_MASK%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3ErxIdentifier%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%2C%20%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E))%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eflexcan_rx_mb_config_t%3C%2FSPAN%3E%20%3CSPAN%3EmbConfig_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EmbConfig_can1%3C%2FSPAN%3E%20%3CSPAN%3E.format%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EkFLEXCAN_FrameFormatStandard%3C%2FSPAN%3E%20%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EmbConfig_can1%3C%2FSPAN%3E%3CSPAN%3E.type%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EkFLEXCAN_FrameTypeData%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EmbConfig_can1.id%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan_id_std%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3Erxidentifier%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_SetRxMbConfig%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3ERX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3EmbConfig_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%3CSPAN%3E%E7%9C%9F%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EFLEXCAN_SetTxMbConfig%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3ETX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%3CSPAN%3E%E7%9C%9F%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%2F%2F%20FLEXCAN_EnableInterrupts(FLEXCAN1%2C%20kFLEXCAN_TxWarningInterruptEnable%20%7C%20kFLEXCAN_RxWarningInterruptEnable)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3ECAN_Send%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E)%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%3CSPAN%3E%5B%3C%2FSPAN%3E%3CSPAN%3E0%3C%2FSPAN%3E%3CSPAN%3E%5D%3C%2FSPAN%3E%3CSPAN%3E%2B%2B%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxFrame_can1.id%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EFLEXCAN_ID_STD%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EtxIdentifier%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxFrame_can1%3C%2FSPAN%3E%3CSPAN%3E.format%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%20(%3C%2FSPAN%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3CSPAN%3EkFLEXCAN_FrameFormatStandard%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxFrame_can1%3C%2FSPAN%3E%3CSPAN%3E.type%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%20(%3C%2FSPAN%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%3CSPAN%3E)%3C%2FSPAN%3E%3CSPAN%3EkFLEXCAN_FrameTypeData%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxFrame_can1%3C%2FSPAN%3E%20%3CSPAN%3E.%E9%95%BF%E5%BA%A6%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3EDLC_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxFrame_can1.dataWord0%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3ECAN_WORD0_DATA_BYTE_0%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E0%3C%2FSPAN%3E%20%3CSPAN%3E%5D%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%7C%3C%2FSPAN%3E%20%3CSPAN%3ECAN_WORD0_DATA_BYTE_1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E1%3C%2FSPAN%3E%20%3CSPAN%3E%5D%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%7C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3ECAN_WORD0_DATA_BYTE_2%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E2%3C%2FSPAN%3E%20%3CSPAN%3E%5D)%3C%2FSPAN%3E%20%3CSPAN%3E%7C%3C%2FSPAN%3E%20%3CSPAN%3ECAN_WORD0_DATA_BYTE_3%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E3%3C%2FSPAN%3E%20%3CSPAN%3E%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxFrame_can1.dataWord1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3ECAN_WORD1_DATA_BYTE_4%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E4%3C%2FSPAN%3E%20%3CSPAN%3E%5D%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%7C%3C%2FSPAN%3E%20%3CSPAN%3ECAN_WORD1_DATA_BYTE_5%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E5%3C%2FSPAN%3E%20%3CSPAN%3E%5D%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3E%7C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3ECAN_WORD1_DATA_BYTE_6%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E6%3C%2FSPAN%3E%20%3CSPAN%3E%5D)%3C%2FSPAN%3E%20%3CSPAN%3E%7C%3C%2FSPAN%3E%20%3CSPAN%3ECAN_WORD1_DATA_BYTE_7%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3EtxData_can1%3C%2FSPAN%3E%20%3CSPAN%3E%5B%3C%2FSPAN%3E%20%3CSPAN%3E7%3C%2FSPAN%3E%20%3CSPAN%3E%5D)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxXfer_can1.mbIdx%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%20%3CSPAN%3ETX_MESSAGE_BUFFER_NUM_CAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%E2%80%8B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxXfer_can1.%3C%2FSPAN%3E%3CSPAN%3E%E5%B8%A7%3C%2FSPAN%3E%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3EtxFrame_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22dddddddddd%5Cr%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Estatus_t%3C%2FSPAN%3E%20%3CSPAN%3Estatus%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%20%3CSPAN%3EFLEXCAN_TransferSendNonBlocking%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3EFLCAN1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3Eflexcan1Handle%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3E%26amp%3B%3C%2FSPAN%3E%20%3CSPAN%3EtxXfer_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3Eif%3C%2FSPAN%3E%3CSPAN%3E%20(%3C%2FSPAN%3E%3CSPAN%3Estatus%3C%2FSPAN%3E%20%3CSPAN%3E!%3D%3C%2FSPAN%3E%20%3CSPAN%3EkStatus_Success%3C%2FSPAN%3E%3CSPAN%3E)%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%E9%9D%9E%E9%98%BB%E5%A1%9E%E4%BC%A0%E8%BE%93%EF%BC%9A%3C%2FSPAN%3E%20%3CSPAN%3E%25d%3C%2FSPAN%3E%20%3CSPAN%3E%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E%2C%3C%2FSPAN%3E%20%3CSPAN%3Estatus%3C%2FSPAN%3E%20%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%7D%20%3C%2FSPAN%3E%3CSPAN%3Eelse%3C%2FSPAN%3E%3CSPAN%3E%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3E%22%E9%9D%9E%E9%98%BB%E5%A1%9E%E4%BC%A0%E8%BE%93%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%E3%80%82%5Cn%22%3C%2FSPAN%3E%20%3CSPAN%3E)%20%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3E%E5%BD%93%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%81%3C%2FSPAN%3E%20%3CSPAN%3EtxComplete_can1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EtxComplete_can1%3C%2FSPAN%3E%20%3CSPAN%3E%3D%3C%2FSPAN%3E%3CSPAN%3E%E5%81%87%3C%2FSPAN%3E%3CSPAN%3E%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E%E2%80%9Ctx%20word0%20%3D%200x%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%85x%3C%2FSPAN%3E%20%3CSPAN%3E%5Cr%5Cn%E2%80%9D%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3EtxFrame_can1.dataWord0%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%26nbsp%3B%20%26nbsp%3B%20%3C%2FSPAN%3E%3CSPAN%3EPRINTF%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%88%3C%2FSPAN%3E%20%3CSPAN%3E%E2%80%9Ctx%E5%AD%971%20%3D%200x%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%85x%3C%2FSPAN%3E%20%3CSPAN%3E%5Cr%5Cn%E2%80%9D%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%3EtxFrame_can1.dataWord1%3C%2FSPAN%3E%20%3CSPAN%3E%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1897478%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20%E7%B3%BB%E5%88%97%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1897640%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AFLEXCAN-TransferReceiveNonBlocking%20%E5%9C%A8%E5%88%9D%E5%A7%8B%E5%8C%96%E5%90%8E%E5%BE%88%E5%BF%AB%E6%97%A0%E6%B3%95%E7%94%9F%E6%88%90%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1897640%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%BB%BA%E8%AE%AE%E3%80%82%E4%BD%86%E6%88%91%E4%BB%AC%E8%AE%A1%E5%88%92%E5%9C%A8%208mp%20M-core%20%E4%B8%8A%E9%A9%B1%E5%8A%A8%20CAN%20%E9%80%9A%E4%BF%A1%E3%80%82%E4%B9%8B%E5%89%8D%E4%BB%8ESDK%EF%BC%882.15%EF%BC%89%E4%B8%AD%E8%8E%B7%E5%8F%96%E4%BA%86demo%E2%80%9Cevkmimx8mp%20flexcan_interrupt_transfer%E2%80%9D%EF%BC%8C%E4%BD%86%E6%98%AF%E6%94%B9%E5%86%99%E4%B9%8B%E5%90%8E%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%87%AA%E5%B7%B1%E7%9A%84%E5%B7%A5%E7%A8%8B%E4%B8%AD%EF%BC%8C%E5%AF%BC%E8%87%B4%E6%97%A0%E6%B3%95%E8%BF%9B%E5%85%A5%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1897587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AFLEXCAN-TransferReceiveNonBlocking%20%E5%9C%A8%E5%88%9D%E5%A7%8B%E5%8C%96%E5%90%8E%E5%BE%88%E5%BF%AB%E6%97%A0%E6%B3%95%E7%94%9F%E6%88%90%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1897587%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E6%9C%80%E5%A5%BD%E5%B0%9D%E8%AF%95%20Linux%20BSP%20%E9%99%84%E5%B8%A6%E7%9A%84%E6%BC%94%E7%A4%BA%E7%A4%BA%E4%BE%8B%EF%BC%8C%E5%AE%83%E5%8F%AF%E4%BB%A5%E5%88%9D%E5%A7%8B%E5%8C%96%E6%82%A8%E7%9A%84%E7%94%B5%E8%B7%AF%E6%9D%BF%E5%B9%B6%E4%BC%A0%E8%BE%93%E6%95%B0%E6%8D%AE%E3%80%82%E8%AF%B7%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdesign%2Fdesign-center%2Fsoftware%2Fembedded-software%2Fi-mx-software%2Fembedded-linux-for-i-mx-applications-processors%3AIMXLINUX%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdesign%2Fdesign-center%2Fsoftware%2Fembedded-software%2Fi-mx-software%2Fembedded-linux-for-i-mx-applications-processors%3AIMXLINUX%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E