LPC5536 CAN ID Filter

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

LPC5536 CAN ID Filter

972 次查看
alvarolopes
Contributor III

 

Hi,

I am creating a project with LP5536 that I need to use 6 ID Filters, but I am facing some problems. I started using SDK example that have only ID Filter. When I tried to use 6 ID Filters the code generated an error during the CAN initialization:

"MCAN Message RAM configuration failed, please check parameters!"

Follow my code and definitions:

#define TX_BUFFER_OFS 0x20U

#define MSG_RAM_SIZE (TX_BUFFER_OFS + 8 + CAN_DATASIZE)

#define CAN_DATASIZE (64U)

 

mcan_config_t mcanConfig;

mcan_memory_config_t memoryConfig = {0};

mcan_frame_filter_config_t rxFilter = {0};

mcan_std_filter_element_config_t stdFilter = {0};

mcan_rx_fifo_config_t rxFifo0 = {0};

mcan_tx_buffer_config_t txBuffer = {0};

 

CLOCK_SetClkDiv(kCLOCK_DivCanClk, 5U, true);

CLOCK_AttachClk(kMCAN_DIV_to_MCAN);

 

MCAN_GetDefaultConfig(&mcanConfig);

 

mcan_timing_config_t timing_config;

memset(&timing_config, 0, sizeof(timing_config));

 

if (MCAN_CalculateImprovedTimingValues(mcanConfig.baudRateA, MCAN_CLK_FREQ, &timing_config))

{

/* Update the improved timing configuration*/

memcpy(&(mcanConfig.timingConfig), &timing_config, sizeof(mcan_timing_config_t));

}

else

{

PRINTF("No found Improved Timing Configuration. use default configuration\r\n\r\n");

}

 

mcanConfig.baudRateA = CAN1_SPEED_100kBit;

 

MCAN_Init(EXAMPLE_MCAN, &mcanConfig, MCAN_CLK_FREQ);

 

memoryConfig.baseAddr = (uint32_t)msgRam;

 

/* STD filter config. */

rxFilter.address = STD_FILTER_OFS;

rxFilter.idFormat = kMCAN_FrameIDStandard;

rxFilter.listSize = 6U;

rxFilter.nmFrame = kMCAN_reject0;

rxFilter.remFrame = kMCAN_rejectFrame;

memoryConfig.stdFilterCfg = &rxFilter;

 

 

/* RX fifo0 config. */

rxFifo0.address = RX_FIFO0_OFS;

rxFifo0.elementSize = 1U;

rxFifo0.watermark = 0;

rxFifo0.opmode = kMCAN_FifoBlocking;

//rxFifo0.datafieldSize = kMCAN_8ByteDatafield;

rxFifo0.datafieldSize = kMCAN_64ByteDatafield;

 

 

memoryConfig.rxFifo0Cfg = &rxFifo0;

/* TX buffer config. */

txBuffer.address = TX_BUFFER_OFS;

txBuffer.dedicatedSize = 1U;

txBuffer.fqSize = 0;

txBuffer.datafieldSize = kMCAN_8ByteDatafield;

 

memoryConfig.txBufferCfg = &txBuffer;

 

/* Set Message RAM config and clear memory to avoid BEU/BEC error. */

memset((void *)msgRam, 0, MSG_RAM_SIZE * sizeof(uint8_t));

if (kStatus_Success != MCAN_SetMessageRamConfig(EXAMPLE_MCAN, &memoryConfig))

{

PRINTF("MCAN Message RAM configuration failed, please check parameters!\r\n");

return -1;

}

 

 

 If anyone has a tip to help me, I would appreciate.

 

Regards!

 

 

 

 

 

 

 

 

 

 

 

 

0 项奖励
回复
7 回复数

949 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @alvarolopes 

Thanks for your post

Could you please share which version of MCUXpresso and the SDK are you using?

You mentioned that the issue happens at the can initialization, but error log you share is from "

if (kStatus_Success != MCAN_SetMessageRamConfig(EXAMPLE_MCAN, &memoryConfig))

{

PRINTF("MCAN Message RAM configuration failed, please check parameters!\r\n");

return -1;

}

"

Please debug the MCAN_SetMessageRamConfig function and share where the code is going to kStatus_Fail

0 项奖励
回复

941 次查看
alvarolopes
Contributor III

 

MCUXpresso version:

MCUXpresso IDE v25.6

The problem happens when I use more than 4 ID filters (rxFilter.listSize).

Follow my entire code:

 
mcan_config_t mcanConfig;
    mcan_memory_config_t memoryConfig          = {0};
    mcan_frame_filter_config_t rxFilter        = {0};
    mcan_std_filter_element_config_t stdFilter = {0};
 
    mcan_rx_fifo_config_t rxFifo0    = {0};
    mcan_tx_buffer_config_t txBuffer = {0};
 
    /* Initialize board hardware. */
    //BOARD_InitHardware();
 
    //Set MCAN clock 100Mhz/5=20MHz.
    CLOCK_SetClkDiv(kCLOCK_DivCanClk, 5U, true);
    CLOCK_AttachClk(kMCAN_DIV_to_MCAN);
 
    PRINTF("\r\n==MCAN loopback functional example -- Start.==\r\n\r\n");
 
    /* Get MCAN module default Configuration. */
    /*
     * mcanConfig.baudRate               = 500000U;
     * mcanConfig.baudRateFD             = 2000000U;
     * mcanConfig.enableCanfdNormal      = false;
     * mcanConfig.enableCanfdSwitch      = false;
     * mcanConfig.enableLoopBackInt      = false;
     * mcanConfig.enableLoopBackExt      = false;
     * mcanConfig.enableBusMon           = false;
     */
    MCAN_GetDefaultConfig(&mcanConfig);
    /* Enable external loop back mode.
     * Current node treats its own transmitted messages as received messages,
     * Other node can receive Current node transmitted messages,
     * Other node can't transmit messages or ACK signal to Current node.
     */
    //mcanConfig.enableLoopBackExt = true;
 
    mcan_timing_config_t timing_config;
    memset(&timing_config, 0, sizeof(timing_config));
 
    if (MCAN_CalculateImprovedTimingValues(mcanConfig.baudRateA, MCAN_CLK_FREQ, &timing_config))
    {
        /* Update the improved timing configuration*/
        memcpy(&(mcanConfig.timingConfig), &timing_config, sizeof(mcan_timing_config_t));
    }
    else
    {
        PRINTF("No found Improved Timing Configuration. use default configuration\r\n\r\n");
    }
 
mcanConfig.baudRateA = CAN1_SPEED_100kBit;
 
    MCAN_Init(EXAMPLE_MCAN, &mcanConfig, MCAN_CLK_FREQ);
 
    memoryConfig.baseAddr = (uint32_t)msgRam;
 
    /* STD filter config. */
    rxFilter.address          = STD_FILTER_OFS;
    rxFilter.idFormat         = kMCAN_FrameIDStandard;
    rxFilter.listSize         = 6U;
    rxFilter.nmFrame          = kMCAN_reject0;
    rxFilter.remFrame         = kMCAN_rejectFrame;
    memoryConfig.stdFilterCfg = &rxFilter;
 
    /* RX fifo0 config. */
    rxFifo0.address       = RX_FIFO0_OFS;
    rxFifo0.elementSize   = 1U;
    rxFifo0.watermark     = 0;
    rxFifo0.opmode        = kMCAN_FifoBlocking;
    rxFifo0.datafieldSize = kMCAN_8ByteDatafield;
 
    memoryConfig.rxFifo0Cfg = &rxFifo0;
    /* TX buffer config. */
    txBuffer.address       = TX_BUFFER_OFS;
    txBuffer.dedicatedSize = 1U;
    txBuffer.fqSize        = 0;
    txBuffer.datafieldSize = kMCAN_8ByteDatafield;
 
    memoryConfig.txBufferCfg = &txBuffer;
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
Follow is when the error occurs
 
    /* Set Message RAM config and clear memory to avoid BEU/BEC error. */
    memset((void *)msgRam, 0, MSG_RAM_SIZE * sizeof(uint8_t));
    if (kStatus_Success != MCAN_SetMessageRamConfig(EXAMPLE_MCAN, &memoryConfig))
    {
        PRINTF("MCAN Message RAM configuration failed, please check parameters!\r\n");
        return -1;
    }
 
If you put     "rxFilter.listSize > 4" , the message "MCAN Message RAM configuration failed, please check parameters!" will be displayed.
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
And follow my filters:
 
stdFilter.sfec = kMCAN_storeinFifo0;
//Classic filter mode, only filter matching ID.
stdFilter.sft   = kMCAN_classic;
stdFilter.sfid1 = 0x4B0U;
stdFilter.sfid2 = 0x7FFU;
MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &rxFilter, &stdFilter, 0);
 
stdFilter.sfec = kMCAN_storeinFifo0;
//Classic filter mode, only filter matching ID.
stdFilter.sft   = kMCAN_classic;
stdFilter.sfid1 = 0x600U;
stdFilter.sfid2 = 0x7FFU;
MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &rxFilter, &stdFilter, 1);
 
stdFilter.sfec = kMCAN_storeinFifo0;
//Classic filter mode, only filter matching ID.
stdFilter.sft   = kMCAN_classic;
stdFilter.sfid1 = 0x1a1U;
stdFilter.sfid2 = 0x7FFU;
MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &rxFilter, &stdFilter, 2);
 
stdFilter.sfec = kMCAN_storeinFifo0;
//Classic filter mode, only filter matching ID.
stdFilter.sft   = kMCAN_classic;
stdFilter.sfid1 = 0x2a2U;
stdFilter.sfid2 = 0x7FFU;
MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &rxFilter, &stdFilter, 3);
 
stdFilter.sfec = kMCAN_storeinFifo0;
//Classic filter mode, only filter matching ID.
stdFilter.sft   = kMCAN_classic;
stdFilter.sfid1 = 0x421U;
stdFilter.sfid2 = 0x7FFU;
MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &rxFilter, &stdFilter, 4);
 
stdFilter.sfec = kMCAN_storeinFifo0;
//Classic filter mode, only filter matching ID.
stdFilter.sft   = kMCAN_classic;
stdFilter.sfid1 = 0x100U;
stdFilter.sfid2 = 0x7FFU;
MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &rxFilter, &stdFilter, 5);
 
    /* Enable RX fifo0 new message interrupt using interrupt line 0. */
    MCAN_EnableInterrupts(EXAMPLE_MCAN, 0, CAN_IE_RF0NE_MASK);
    EnableIRQ(CAN0_IRQ0_IRQn);
 
Regards,
 
Alvaro
 
0 项奖励
回复

909 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @alvarolopes 

The MCAN_SetMessageRamConfig function fail due to wrong address parameter, this is related to memoryConfig configuration. 

Please make sure msgRam has 4k alignment.

Also share the value of MSG_RAM_SIZE 

0 项奖励
回复

861 次查看
alvarolopes
Contributor III

 

#define MSG_RAM_BASE 0x04000000U

 

#define TX_BUFFER_OFS 0x20U

#define CAN_DATASIZE (64U)

 

#define MSG_RAM_SIZE (TX_BUFFER_OFS + 8 + CAN_DATASIZE)

 

How can I know if my RAM has 4k alignment?

Regards,

Alvaro

 

0 项奖励
回复

782 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @alvarolopes 

Apologies the late reply

I do some test at my end and I've found the following:

To have more than 4 filters you need to modify the rxFifo0.address value to be at least 4 * rxFilter.listsize so you need rxFifo0.address be equal to 0x18 at minimum to support 6 filters. 

Regarding the alignment question to ensure the start of msg_ram to be align you only need to ensure that the value of MSG_RAM_BASE is divisible per 0x1000, the value you assign is aligned. 

Let me know if this information solves the issue. 

0 项奖励
回复

713 次查看
alvarolopes
Contributor III

 

Hello my friend. Excuse me for delay.

Good news. It works, but I needed to change the register txBuffer.address to

0x28.

The final configuration was:

 

RX_FIFO0_OFS = 0x18

rxFifo0.address = RX_FIFO0_OFS;

TX_BUFFER_OFS = 0x28

txBuffer.address = TX_BUFFER_OFS;

 

Regards,

Alvaro

0 项奖励
回复

707 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @alvarolopes 

Great to hear that!

Thanks for letting me know and share the configurations that works for you.

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2305496%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC5536%20CAN%20ID%20%E6%BB%A4%E6%B3%A2%E5%99%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2305496%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CBR%20%2F%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E7%94%A8%20LP5536%20%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%EF%BC%8C%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%206%20%E4%B8%AA%20ID%20%E8%BF%87%E6%BB%A4%E5%99%A8%EF%BC%8C%E4%BD%86%E9%81%87%E5%88%B0%E4%BA%86%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%E3%80%82%E6%88%91%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8%E5%8F%AA%E6%9C%89%20ID%20%E8%BF%87%E6%BB%A4%E5%99%A8%E7%9A%84%20SDK%20%E7%A4%BA%E4%BE%8B%E3%80%82%E5%BD%93%E6%88%91%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%206%20%E4%B8%AA%20ID%20Filters%20%E6%97%B6%EF%BC%8C%E4%BB%A3%E7%A0%81%E5%9C%A8%20CAN%20%E5%88%9D%E5%A7%8B%E5%8C%96%E8%BF%87%E7%A8%8B%E4%B8%AD%E4%BA%A7%E7%94%9F%E4%BA%86%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2FP%3E%3CP%3E%3CSPAN%3E%22MCAN%20%E4%BF%A1%E6%81%AF%20RAM%20%E9%85%8D%E7%BD%AE%E5%A4%B1%E8%B4%A5%EF%BC%8C%E8%AF%B7%E6%A3%80%E6%9F%A5%E5%8F%82%E6%95%B0%EF%BC%81%22%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E9%81%B5%E5%BE%AA%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%E5%92%8C%E5%AE%9A%E4%B9%89%EF%BC%9A%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3ETX_BUFFER_OFS%200x20U%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3Emsg_ram_size%20(tx_buffer_ofs%20%2B%208%20%2B%20can_datasize)%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3ECAN_DATASIZE%3C%2FSPAN%3E%3CSPAN%3E(64U)%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Emcan_config_t%3C%2FSPAN%3E%3CSPAN%3EmcanConfig%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Emcan_memory_config_t%3C%2FSPAN%3E%3CSPAN%3EmemoryConfig%20%3D%20%7B0%7D%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Emcan_frame_filter_config_t%3C%2FSPAN%3E%3CSPAN%3ErxFilter%20%3D%20%7B0%7D%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Emcan_std_filter_element_config_t%3C%2FSPAN%3E%3CSPAN%3EstdFilter%20%3D%20%7B0%7D%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Emcan_rx_fifo_config_t%3C%2FSPAN%3E%3CSPAN%3ErxFifo0%20%3D%20%7B0%7D%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Emcan_tx_buffer_config_t%3C%2FSPAN%3E%3CSPAN%3EtxBuffer%20%3D%20%7B0%7D%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3ECLOCK_SetClkDiv(%3C%2FSPAN%3E%3CSPAN%3EkCLOCK_DivCanClk%3C%2FSPAN%3E%3CSPAN%3E%2C%205U%2C%20true%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECLOCK_AttachClk(%3C%2FSPAN%3E%3CSPAN%3EkMCAN_DIV_too_MCAN%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3EMCAN_GetDefaultConfig(%26amp%3BmcanConfig)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3Emcan_timing_config_t%3C%2FSPAN%3E%3CSPAN%3Etiming_config%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ememset(%26amp%3Btiming_config%2C%200%E3%80%81%20%3C%2FSPAN%3E%3CSPAN%3Esizeof%3C%2FSPAN%3E%3CSPAN%3E(timing_config))%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E(MCAN_CalculateImprovedTimingValues(mcanConfig.%3C%2FSPAN%3E%3CSPAN%3EbaudRateA%3C%2FSPAN%3E%3CSPAN%3E%2C%20MCAN_CLK_FREQ%2C%26amp%3Btiming_config))%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F*%20%E6%9B%B4%E6%96%B0%E6%94%B9%E8%BF%9B%E5%90%8E%E7%9A%84%E5%AE%9A%E6%97%B6%E9%85%8D%E7%BD%AE*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ememcpy(%26amp%3B(mcanConfig.%3C%2FSPAN%3E%3CSPAN%3EtimingConfig%3C%2FSPAN%3E%3CSPAN%3E)%2C%26amp%3Btiming_config%E3%80%81%20%3C%2FSPAN%3E%3CSPAN%3Esizeof%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Emcan_timing_config_t%3C%2FSPAN%3E%3CSPAN%3E))%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Eelse%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EPRINTF(%3C%2FSPAN%3E%3CSPAN%3E%22%E6%B2%A1%E6%9C%89%E6%89%BE%E5%88%B0%E6%94%B9%E8%BF%9B%E7%9A%84%E5%AE%9A%E6%97%B6%E9%85%8D%E7%BD%AE%E3%80%82%22%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3EmcanConfig.%3C%2FSPAN%3E%3CSPAN%3E%E6%B3%A2%E7%89%B9%E7%8E%87A%3C%2FSPAN%3E%3CSPAN%3E%3D%20CAN1_SPEED_100kBit%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3EMCAN_Init(EXAMPLE_MCAN%2C%26amp%3BmcanConfig%2C%20MCAN_CLK_FREQ)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E5%86%85%E5%AD%98%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3EbaseAddr%3C%2FSPAN%3E%3CSPAN%3E%3D%20(%3C%2FSPAN%3E%3CSPAN%3Euint32_t%3C%2FSPAN%3E%3CSPAN%3E)msgRam%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F*%20STD%20%E8%BF%87%E6%BB%A4%E5%99%A8%3C%2FSPAN%3E%3CSPAN%3E%20%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3E%20%E3%80%82*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFilter.%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3CSPAN%3E%3D%20std_filter_ofs%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFilter.idFormat%3C%2FSPAN%3E%3CSPAN%3EidFormat%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkMCAN_FrameIDStandard%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFilter.listSize%3C%2FSPAN%3E%3CSPAN%3ElistSize%3C%2FSPAN%3E%3CSPAN%3E%3D%206U%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFilter.%3C%2FSPAN%3E%3CSPAN%3EnmFrame%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkMCAN_reject0%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFilter.%3C%2FSPAN%3E%3CSPAN%3EremFrame%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkMCAN_rejectFrame%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E5%86%85%E5%AD%98%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3EstdFilterCfg%3C%2FSPAN%3E%3CSPAN%3E%3D%26amp%3BrxFilter%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%2F*%20RX%20fifo0%20%3C%2FSPAN%3E%3CSPAN%3E%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3E.*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFifo0.%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3CSPAN%3E%3D%20rx_fifo0_ofs%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFifo0.%3C%2FSPAN%3E%3CSPAN%3E%E5%85%83%E7%B4%A0%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%3CSPAN%3E%3D%201U%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFifo0%E3%80%82%3C%2FSPAN%3E%3CSPAN%3E%E6%B0%B4%E5%8D%B0%3C%2FSPAN%3E%3CSPAN%3E%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFifo0.%3C%2FSPAN%3E%3CSPAN%3Eopmode%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkMCAN_FifoBlocking%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F%2FrxFifo0.datafieldSize%3D%20kMCAN_8ByteDatafield%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ErxFifo0.%3C%2FSPAN%3E%3CSPAN%3E%E6%95%B0%E6%8D%AE%E5%AD%97%E6%AE%B5%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkMCAN_64ByteDatafield%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%E5%86%85%E5%AD%98%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3ErxFifo0Cfg%3C%2FSPAN%3E%3CSPAN%3E%3D%26amp%3BrxFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%2F*%20TX%20%E7%BC%93%E5%86%B2%E5%8C%BA%20%3C%2FSPAN%3E%3CSPAN%3E%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3E.*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EtxBuffer.%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3CSPAN%3E%3D%20tx_buffer_ofs%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EtxBuffer.%3C%2FSPAN%3E%3CSPAN%3E%E4%B8%93%E7%94%A8%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%3CSPAN%3E%3D%201U%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EtxBuffer.%3C%2FSPAN%3E%3CSPAN%3EfqSize%3C%2FSPAN%3E%3CSPAN%3E%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EtxBuffer.%3C%2FSPAN%3E%3CSPAN%3E%E6%95%B0%E6%8D%AE%E5%AD%97%E6%AE%B5%E5%A4%A7%E5%B0%8F%3C%2FSPAN%3E%3CSPAN%3E%3D%20%3C%2FSPAN%3E%3CSPAN%3EkMCAN_8ByteDatafield%3C%2FSPAN%3E%3CSPAN%3E%3B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%E5%86%85%E5%AD%98%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3EtxBufferCfg%3C%2FSPAN%3E%3CSPAN%3E%3D%26amp%3BtxBuffer%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%2F*%20%E8%AE%BE%E7%BD%AE%E4%BF%A1%E6%81%AF%20RAM%20%3C%2FSPAN%3E%3CSPAN%3E%E9%85%8D%E7%BD%AE%3C%2FSPAN%3E%3CSPAN%3E%E5%B9%B6%E6%B8%85%E9%99%A4%E5%86%85%E5%AD%98%E4%BB%A5%E9%81%BF%E5%85%8D%20BEU%2FBEC%20%E9%94%99%E8%AF%AF%E3%80%82*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3Ememset((%3C%2FSPAN%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%3CSPAN%3E*)msgRam%2C%200%2C%20MSG_RAM_SIZE%20*)%20%3C%2FSPAN%3E%3CSPAN%3Esizeof%3C%2FSPAN%3E%3CSPAN%3E(%3C%2FSPAN%3E%3CSPAN%3Euint8_t%3C%2FSPAN%3E%3CSPAN%3E))%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E(kStatus_Success%20!%3D%20MCAN_SetMessageRamConfig(EXAMPLE_MCAN%2C%26amp%3BmemoryConfig))%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EPRINTF(%3C%2FSPAN%3E%3CSPAN%3E%22MCAN%20Message%20RAM%20configuration%20failed%2C%20please%20check%20parameters!%5Cr%5Cn%22%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E8%BF%94%E5%9B%9E%3C%2FSPAN%3E%3CSPAN%3E-1%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BA%BA%E8%83%BD%E6%8F%90%E4%BE%9B%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%88%91%E5%B0%86%E4%B8%8D%E8%83%9C%E6%84%9F%E6%BF%80%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%AD%A4%E8%87%B4%E6%95%AC%E7%A4%BC%EF%BC%81%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2311992%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2311992%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CBR%20%2F%3E%3CP%3EMCUXpresso%20%E7%89%88%E6%9C%AC%EF%BC%9A%3C%2FP%3E%3CP%3E%3CSPAN%3EMCUXpresso%20IDE%20v25.6%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E5%BD%93%E6%88%91%E4%BD%BF%E7%94%A8%E8%B6%85%E8%BF%87%204%20%E4%B8%AA%20ID%20%E8%BF%87%E6%BB%A4%E5%99%A8%EF%BC%88rxFilter.listSize%EF%BC%89%E6%97%B6%EF%BC%8C%E9%97%AE%E9%A2%98%E5%B0%B1%E4%BC%9A%E5%87%BA%E7%8E%B0%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E9%81%B5%E5%BE%AA%E6%88%91%E7%9A%84%E5%85%A8%E9%83%A8%E5%AE%88%E5%88%99%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Emcan_config_t%20mcanConfig%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%20%20%20%20mcan_memory_config_t%20memoryConfig%20%3D%20%7B0%7D%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20mcan_frame_filter_config_t%20rxFilter%20%3D%20%7B0%7D%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20mcan_std_filter_element_config_t%20stdFilter%20%3D%20%7B0%7D%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20mcan_rx_fifo_config_t%20rxFifo0%20%3D%20%7B0%7D%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20mcan_tx_buffer_config_t%20txBuffer%20%3D%20%7B0%7D%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F*%20%E5%88%9D%E5%A7%8B%E5%8C%96%E6%9D%BF%E7%A1%AC%E4%BB%B6%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F%2FBOARD_InitHardware()%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F%2F%E8%AE%BE%E7%BD%AE%20MCAN%20%E6%97%B6%E9%92%9F%20100Mhz%2F5%3D20MHz%E3%80%82%3C%2FDIV%3E%3CDIV%3E%20%20%20%20CLOCK_SetClkDiv(kCLOCK_DivCanClk%2C%205U%2C%20true)%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20CLOCK_AttachClk(kMCAN_DIV_too_MCAN)%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20PRINTF(%22%5Cr%5Cn%3D%3DMCAN%20loopback%20functional%20example%20--%20Start.%3D%3D%20%5Cr%5Cn%3D%3DMCAN%20loopback%20functional%20example%22)%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%20%E8%8E%B7%E5%8F%96%20MCAN%20%E6%A8%A1%E5%9D%97%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.baudRate%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20500000U%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.baudRateFD%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%202000000U%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.enableCanfdNormal%20%20%20%20%20%3D%20false%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.enableCanfdSwitch%20%20%20%20%20%3D%20false%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.enableLoopBackInt%20%20%20%20%20%3D%20false%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.enableLoopBackExt%20%20%20%20%20%3D%20false%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20mcanConfig.enableBusMon%20%20%20%20%20%20%20%20%20%20%20%3D%20false%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20MCAN_GetDefaultConfig(%26amp%3BmcanConfig)%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%20%E5%90%AF%E7%94%A8%E5%A4%96%E9%83%A8%E5%9B%9E%E7%8E%AF%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20%E5%BD%93%E5%89%8D%E8%8A%82%E7%82%B9%E5%B0%86%E8%87%AA%E5%B7%B1%E5%8F%91%E9%80%81%E7%9A%84%E4%BF%A1%E6%81%AF%E8%A7%86%E4%B8%BA%E5%B7%B2%E6%8E%A5%E6%94%B6%E4%BF%A1%E6%81%AF%E3%80%81%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20%E5%85%B6%E4%BB%96%E8%8A%82%E7%82%B9%E5%8F%AF%E4%BB%A5%E6%8E%A5%E6%94%B6%E5%BD%93%E5%89%8D%E8%8A%82%E7%82%B9%E5%8F%91%E9%80%81%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%81%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%20%E5%85%B6%E4%BB%96%E8%8A%82%E7%82%B9%E6%97%A0%E6%B3%95%E5%90%91%E5%BD%93%E5%89%8D%E8%8A%82%E7%82%B9%E5%8F%91%E9%80%81%E4%BF%A1%E6%81%AF%E6%88%96%20ACK%20%E4%BF%A1%E5%8F%B7%E3%80%82%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F%2FmcanConfig.enableLoopBackExt%20%3D%20true%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20mcan_timing_config_t%20timing_config%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20memset(%26amp%3Btiming_config%2C%200%2C%20sizeof(timing_config))%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%E5%A6%82%E6%9E%9C%EF%BC%88MCAN_CalculateImprovedTimingValues(mcanConfig.baudRateA%E3%80%81MCAN_CLK_FREQ%2C%26amp%3Btiming_config))%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20%20%20%20%2F*%20%E6%9B%B4%E6%96%B0%E6%94%B9%E8%BF%9B%E5%90%8E%E7%9A%84%E5%AE%9A%E6%97%B6%E9%85%8D%E7%BD%AE*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20%20%20%20memcpy(%26amp%3B(mcanConfig.timingConfig)%2C%26amp%3Btiming_config%2C%20sizeof(mcan_timing_config_t))%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%E4%B8%8D%E7%84%B6%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20%20%20%20PRINTF(%22%E6%9C%AA%E6%89%BE%E5%88%B0%E6%94%B9%E8%BF%9B%E7%9A%84%E5%AE%9A%E6%97%B6%E9%85%8D%E7%BD%AE%E3%80%82use%20default%20configuration%5Cr%5Cn%5Cr%5Cn%22%20%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EmcanConfig.baudRateA%20%3D%20CAN1_SPEED_100kBit%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20MCAN_Init(EXAMPLE_MCAN%2C%26amp%3BmcanConfig%2C%20MCAN_CLK_FREQ)%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20memoryConfig.baseAddr%20%3D%20(uint32_t)msgRam%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F*%20STD%20%E8%BF%87%E6%BB%A4%E5%99%A8%E9%85%8D%E7%BD%AE%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFilter.address%20%20%20%20%20%20%20%20%20%3D%20std_filter_ofs%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFilter.idFormat%20%20%20%20%20%20%20%20%20%3D%20kMCAN_FrameIDStandard%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFilter.listSize%20%20%20%20%20%20%20%20%20%3D%206U%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFilter.nmFrame%20%20%20%20%20%20%20%20%20%3D%20kMCAN_reject0%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFilter.remFrame%20%20%20%20%20%20%20%20%20%3D%20kMCAN_rejectFrame%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20memoryConfig.stdFilterCfg%20%3D%26amp%3BrxFilter%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%20RX%20fifo0%20%E9%85%8D%E7%BD%AE%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFifo0.address%20%20%20%20%20%20%20%3D%20rx_fifo0_ofs%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFifo0.elementSize%20%20%20%3D%201U%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFifo0.watermark%20%20%20%20%20%3D%200%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFifo0.opmode%20%20%20%20%20%20%20%3D%20kMCAN_FifoBlocking%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20rxFifo0.datafieldSize%3D%20kMCAN_8ByteDatafield%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20memoryConfig.rxFifo0Cfg%20%3D%26amp%3BrxFifo0%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%20TX%20%E7%BC%93%E5%86%B2%E5%8C%BA%E9%85%8D%E7%BD%AE%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20txBuffer.address%20%20%20%20%20%20%20%3D%20tx_buffer_ofs%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20txBuffer.dedicatedSize%3D%201U%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20txBuffer.fqSize%20%20%20%20%20%20%20%3D%200%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20txBuffer.datafieldSize%3D%20kMCAN_8ByteDatafield%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20memoryConfig.txBufferCfg%20%3D%26amp%3BtxBuffer%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E9%94%99%E8%AF%AF%E5%8F%91%E7%94%9F%E6%97%B6%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%20%E8%AE%BE%E7%BD%AE%E4%BF%A1%E6%81%AF%20RAM%20%E9%85%8D%E7%BD%AE%E5%B9%B6%E6%B8%85%E9%99%A4%E5%86%85%E5%AD%98%EF%BC%8C%E4%BB%A5%E9%81%BF%E5%85%8D%20BEU%2FBEC%20%E9%94%99%E8%AF%AF%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20memset((void%20*)msgRam%2C%200%2C%20MSG_RAM_SIZE%20*%20sizeof(uint8_t))%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%E5%A6%82%E6%9E%9C%20(kStatus_Success%20!%3D%20MCAN_SetMessageRamConfig(EXAMPLE_MCAN%2C%26amp%3BmemoryConfig))%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20%20%20%20PRINTF(%22MCAN%20Message%20RAM%20configuration%20failed%2C%20please%20check%20parameters!%5Cr%5Cn%22)%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%20%20%20%20%E8%BF%94%E5%9B%9E%20-1%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%26nbsp%3B%20%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E5%A6%82%E6%9E%9C%E5%B0%86%22rxFilter.listSize%26gt%3B%204%22%20%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E4%BF%A1%E6%81%AF%22MCAN%20Message%20RAM%20%E9%85%8D%E7%BD%AE%E5%A4%B1%E8%B4%A5%EF%BC%8C%E8%AF%B7%E6%A3%80%E6%9F%A5%E5%8F%82%E6%95%B0%EF%BC%81%22%20%E3%80%82%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%3CSPANTRANSLATE%3E49%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%25%20%3C%2FSPANTRANSLATE%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E5%B9%B6%E6%8C%89%E7%85%A7%E6%88%91%E7%9A%84%E7%AD%9B%E9%80%89%E5%99%A8%E8%BF%9B%E8%A1%8C%E7%AD%9B%E9%80%89%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfec%20%3D%20kMCAN_storeinFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FClassic%20filter%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AA%E8%BF%87%E6%BB%A4%E4%B8%8E%20ID%20%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sft%20%20%20%3D%20kMCAN_classic%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid1%20%3D%200x4B0U%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid2%20%3D%200x7FFU%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMCAN_SetSTDFilterElement(EXAMPLE_MCAN%2C%26amp%3BrxFilter%2C%26amp%3BstdFilter%2C%200)%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfec%20%3D%20kMCAN_storeinFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FClassic%20filter%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AA%E8%BF%87%E6%BB%A4%E4%B8%8E%20ID%20%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sft%20%20%20%3D%20kMCAN_classic%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid1%20%3D%200x600U%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid2%20%3D%200x7FFU%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMCAN_SetSTDFilterElement(EXAMPLE_MCAN%2C%26amp%3BrxFilter%2C%26amp%3BstdFilter%2C%201)%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfec%20%3D%20kMCAN_storeinFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FClassic%20filter%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AA%E8%BF%87%E6%BB%A4%E4%B8%8E%20ID%20%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sft%20%20%20%3D%20kMCAN_classic%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid1%20%3D%200x1a1U%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid2%20%3D%200x7FFU%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMCAN_SetSTDFilterElement(EXAMPLE_MCAN%2C%26amp%3BrxFilter%2C%26amp%3BstdFilter%2C%202)%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfec%20%3D%20kMCAN_storeinFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FClassic%20filter%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AA%E8%BF%87%E6%BB%A4%E4%B8%8E%20ID%20%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sft%20%20%20%3D%20kMCAN_classic%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid1%20%3D%200x2a2U%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid2%20%3D%200x7FFU%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMCAN_SetSTDFilterElement(EXAMPLE_MCAN%2C%26amp%3BrxFilter%2C%26amp%3BstdFilter%2C%203)%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfec%20%3D%20kMCAN_storeinFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FClassic%20filter%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AA%E8%BF%87%E6%BB%A4%E4%B8%8E%20ID%20%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sft%20%20%20%3D%20kMCAN_classic%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid1%20%3D%200x421U%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid2%20%3D%200x7FFU%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMCAN_SetSTDFilterElement(EXAMPLE_MCAN%2C%26amp%3BrxFilter%2C%26amp%3BstdFilter%2C%204)%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfec%20%3D%20kMCAN_storeinFifo0%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2FClassic%20filter%20%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AA%E8%BF%87%E6%BB%A4%E4%B8%8E%20ID%20%E5%8C%B9%E9%85%8D%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sft%20%20%20%3D%20kMCAN_classic%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid1%20%3D%200x100U%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EstdFilter.sfid2%20%3D%200x7FFU%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EMCAN_SetSTDFilterElement(EXAMPLE_MCAN%2C%26amp%3BrxFilter%2C%26amp%3BstdFilter%2C%205)%EF%BC%9B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%2F*%20%E4%BD%BF%E7%94%A8%E4%B8%AD%E6%96%AD%E7%BA%BF%200%20%E5%90%AF%E7%94%A8%20RX%20fifo0%20%E6%96%B0%E4%BF%A1%E6%81%AF%E4%B8%AD%E6%96%AD%E3%80%82*%2F%3C%2FDIV%3E%3CDIV%3E%20%20%20%20MCAN_EnableInterrupts%EF%BC%88EXAMPLE_MCAN%EF%BC%8C0%EF%BC%8CCAN_IE_RF0NE_MASK%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%20%20%20%20%E5%90%AF%E7%94%A8%20IRQ%EF%BC%88CAN0_IRQ0_IRQn%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E9%98%BF%E5%B0%94%E7%93%A6%E7%BD%97%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2311648%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2311648%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F67396%22%20target%3D%22_blank%22%3E%40alvarolopes%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E6%9D%A5%E4%BF%A1%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%E4%BB%AC%E6%82%A8%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E5%93%AA%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%20MCUXpresso%20%E5%92%8C%20SDK%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E6%8F%90%E5%88%B0%E9%97%AE%E9%A2%98%E5%8F%91%E7%94%9F%E5%9C%A8%E7%BD%90%E5%AD%90%E5%88%9D%E5%A7%8B%E5%8C%96%E6%97%B6%EF%BC%8C%E4%BD%86%E6%82%A8%E5%85%B1%E4%BA%AB%E7%9A%84%E9%94%99%E8%AF%AF%E6%97%A5%E5%BF%97%E6%9D%A5%E8%87%AA%22%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%E5%A6%82%E6%9E%9C%3C%2FSPAN%3E%3CSPAN%3E(kStatus_Success%20!%3D%20MCAN_SetMessageRamConfig(EXAMPLE_MCAN%2C%26amp%3BmemoryConfig))%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EPRINTF(%3C%2FSPAN%3E%3CSPAN%3E%22MCAN%20Message%20RAM%20configuration%20failed%2C%20please%20check%20parameters!%5Cr%5Cn%22%3C%2FSPAN%3E%3CSPAN%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%E8%BF%94%E5%9B%9E%3C%2FSPAN%3E%3CSPAN%3E-1%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E2%80%9D%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E8%B0%83%E8%AF%95%20MCAN_SetMessageRamConfig%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%B9%B6%E5%88%86%E4%BA%AB%E4%BB%A3%E7%A0%81%E8%BF%9B%E5%85%A5%20kStatus_Fail%20%E7%9A%84%E4%BD%8D%E7%BD%AE%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2313206%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2313206%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F67396%22%20target%3D%22_blank%22%3E%40alvarolopes%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EMCAN_SetMessageRamConfig%20%E5%87%BD%E6%95%B0%E5%9B%A0%E9%94%99%E8%AF%AF%E7%9A%84%E5%9C%B0%E5%9D%80%E5%8F%82%E6%95%B0%E8%80%8C%E5%A4%B1%E8%B4%A5%EF%BC%8C%E8%BF%99%E4%B8%8E%20memoryConfig%20%E9%85%8D%E7%BD%AE%E6%9C%89%E5%85%B3%E3%80%82%20%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E7%A1%AE%E4%BF%9D%20msgRam%20%E5%85%B7%E6%9C%89%204k%20%E5%AF%B9%E9%BD%90%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%BF%98%E5%85%B1%E4%BA%AB%20MSG_RAM_SIZE%20%E7%9A%84%E5%80%BC%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2314835%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2314835%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CBR%20%2F%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3EMSG_RAM_BASE%200x04000000U%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%20%3CSPAN%3ETX_BUFFER_OFS%3C%2FSPAN%3E%3CSPAN%3E0x20U%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3Ecan_datasize%20(64u)%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3E%23define%3C%2FSPAN%3E%3CSPAN%3Emsg_ram_size%20(tx_buffer_ofs%20%2B%208%20%2B%20can_datasize)%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E6%88%91%E7%9A%84%E5%86%85%E5%AD%98%E6%98%AF%E5%90%A6%E5%85%B7%E6%9C%89%204k%20%E5%AF%B9%E9%BD%90%E5%8A%9F%E8%83%BD%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FP%3E%3CP%3E%E9%98%BF%E5%B0%94%E7%93%A6%E7%BD%97%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2316680%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2316680%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F67396%22%20target%3D%22_blank%22%3E%40alvarolopes%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%8A%B1%E6%AD%89%E8%BF%9F%E5%A4%8D%3C%2FP%3E%0A%3CP%3E%E6%88%91%E8%BF%9B%E8%A1%8C%E4%BA%86%E4%B8%80%E4%BA%9B%E6%B5%8B%E8%AF%95%EF%BC%8C%E7%BB%93%E6%9E%9C%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%E8%A6%81%E4%BD%BF%E7%94%A8%E8%B6%85%E8%BF%87%204%20%E4%B8%AA%E8%BF%87%E6%BB%A4%E5%99%A8%EF%BC%8C%E6%82%A8%E9%9C%80%E8%A6%81%E4%BF%AE%E6%94%B9%20rxFifo0.address%20%E7%9A%84%E5%80%BC%EF%BC%8C%E4%BD%BF%E5%85%B6%E8%87%B3%E5%B0%91%E4%B8%BA%204%20*%20rxFilter.listsize%EF%BC%8C%E5%9B%A0%E6%AD%A4%E8%A6%81%E6%94%AF%E6%8C%81%206%20%E4%B8%AA%E8%BF%87%E6%BB%A4%E5%99%A8%EF%BC%8CrxFifo0.address%20%E8%87%B3%E5%B0%91%E8%A6%81%E7%AD%89%E4%BA%8E%200x18%E3%80%82%20%3C%2FP%3E%0A%3CP%3E%E5%85%B3%E4%BA%8E%E5%AF%B9%E9%BD%90%E9%97%AE%E9%A2%98%EF%BC%8C%E8%A6%81%E7%A1%AE%E4%BF%9D%20msg_ram%20%E7%9A%84%E8%B5%B7%E7%82%B9%E5%AF%B9%E9%BD%90%EF%BC%8C%E5%8F%AA%E9%9C%80%E7%A1%AE%E4%BF%9D%20MSG_RAM_BASE%20%E7%9A%84%E5%80%BC%E5%8F%AF%E8%A2%AB%200x1000%20%E6%95%B4%E9%99%A4%EF%BC%8C%E6%82%A8%E5%88%86%E9%85%8D%E7%9A%84%E5%80%BC%E5%B0%B1%E6%98%AF%E5%AF%B9%E9%BD%90%E7%9A%84%E3%80%82%20%3C%2FP%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E8%BF%99%E4%BA%9B%E4%BF%A1%E6%81%AF%E8%83%BD%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98%EF%BC%8C%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%E3%80%82%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319743%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319743%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F67396%22%20target%3D%22_blank%22%3E%40alvarolopes%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E5%BE%88%E9%AB%98%E5%85%B4%E5%90%AC%E5%88%B0%E8%BF%99%E4%B8%AA%E6%B6%88%E6%81%AF%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E5%91%8A%E8%AF%89%E6%88%91%E5%B9%B6%E5%88%86%E4%BA%AB%E9%80%82%E5%90%88%E6%82%A8%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319560%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC5536%20CAN%20ID%20Filter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319560%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CBR%20%2F%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E6%88%91%E7%9A%84%E6%9C%8B%E5%8F%8B%E3%80%82%E8%AF%B7%E5%8E%9F%E8%B0%85%E6%88%91%E7%9A%84%E5%BB%B6%E8%BF%9F%E3%80%82%3C%2FP%3E%3CP%3E%E5%A5%BD%E6%B6%88%E6%81%AF%E5%AE%83%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%BD%86%E6%88%91%E9%9C%80%E8%A6%81%E5%B0%86%E5%AF%84%E5%AD%98%E5%99%A8%20txBuffer.address%20%E6%9B%B4%E6%94%B9%E4%B8%BA%3C%2FP%3E%3CP%3E0x28.%3C%2FP%3E%3CP%3E%E6%9C%80%E7%BB%88%E7%9A%84%E9%85%8D%E7%BD%AE%E6%98%AF%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSTRONG%3ERX_FIFO0_OFS%20%3D%200x18%3C%2FSTRONG%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3ErxFifo0.%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3CSPAN%3E%3D%20rx_fifo0_ofs%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CP%3E%3CSPAN%3ETX_BUFFER_OFS%20%3D%200x28%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EtxBuffer.%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%B0%E5%9D%80%3C%2FSPAN%3E%3CSPAN%3E%3D%20tx_buffer_ofs%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%E6%AD%A4%E8%87%B4%EF%BC%8C%3C%2FP%3E%3CP%3E%E9%98%BF%E5%B0%94%E7%93%A6%E7%BD%97%3C%2FP%3E%3C%2FLINGO-BODY%3E