<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: LPC54618_CAN in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1243227#M44223</link>
    <description>&lt;P&gt;Thank you for your recommendation, but I am not familiar with the recommended software and do not know how to use it. Is there any other way to solve it.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 10 Mar 2021 11:25:29 GMT</pubDate>
    <dc:creator>Xiaoyh</dc:creator>
    <dc:date>2021-03-10T11:25:29Z</dc:date>
    <item>
      <title>LPC54618_CAN</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1241750#M44180</link>
      <description>&lt;P&gt;&lt;SPAN&gt;/////////////////////////////////////////////////////////////////////////////////////////////&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*&lt;BR /&gt;* Copyright (c) 2016, Freescale Semiconductor, Inc.&lt;BR /&gt;* Copyright 2016-2019 NXP&lt;BR /&gt;* All rights reserved.&lt;BR /&gt;*&lt;BR /&gt;* SPDX-License-Identifier: BSD-3-Clause&lt;BR /&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#include "fsl_debug_console.h"&lt;BR /&gt;#include "fsl_mcan.h"&lt;BR /&gt;#include "board.h"&lt;BR /&gt;#include "stdlib.h"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#include "pin_mux.h"&lt;BR /&gt;#include &amp;lt;stdbool.h&amp;gt;&lt;BR /&gt;/*******************************************************************************&lt;BR /&gt;* Definitions&lt;BR /&gt;******************************************************************************/&lt;BR /&gt;&lt;FONT color="#808080"&gt;//#define USE_CANFD (1U)&lt;/FONT&gt;&lt;BR /&gt;/*&lt;BR /&gt;* CAN_DATASIZE DLC BYTES_IN_MB&lt;BR /&gt;* 8 8 kMCAN_8ByteDatafield&lt;BR /&gt;* 12 9 kMCAN_12ByteDatafield&lt;BR /&gt;* 16 10 kMCAN_16ByteDatafield&lt;BR /&gt;* 20 11 kMCAN_20ByteDatafield&lt;BR /&gt;* 24 12 kMCAN_24ByteDatafield&lt;BR /&gt;* 32 13 kMCAN_32ByteDatafield&lt;BR /&gt;* 48 14 kMCAN_48ByteDatafield&lt;BR /&gt;* 64 15 kMCAN_64ByteDatafield&lt;BR /&gt;*&lt;BR /&gt;* CAN data size (pay load size), DLC and Bytes in Message buffer must align.&lt;BR /&gt;*&lt;BR /&gt;*/&lt;BR /&gt;#define DLC (15)&lt;BR /&gt;#define BYTES_IN_MB kMCAN_64ByteDatafield&lt;BR /&gt;/* If not define USE_CANFD or define it 0, CAN_DATASIZE should be 8. */&lt;BR /&gt;#define CAN_DATASIZE (8U)&lt;BR /&gt;/* If user need to auto execute the improved timming configuration. */&lt;BR /&gt;//#define USE_IMPROVED_TIMING_CONFIG (10U)&lt;BR /&gt;#define EXAMPLE_MCAN_IRQHandler CAN0_IRQ0_IRQHandler&lt;BR /&gt;#define EXAMPLE_MCAN_IRQn CAN0_IRQ0_IRQn&lt;BR /&gt;#define EXAMPLE_MCAN CAN0&lt;BR /&gt;#define &lt;FONT color="#FF0000"&gt;MCAN_CLK_FREQ CLOCK_GetMCanClkFreq(0U)&lt;/FONT&gt;&lt;BR /&gt;#define STDID_OFFSET (18U)&lt;BR /&gt;#define MSG_RAM_BASE 0x20010000U&lt;BR /&gt;#define STD_FILTER_OFS 0x0&lt;BR /&gt;#define RX_FIFO0_OFS 0x10U&lt;BR /&gt;#define TX_BUFFER_OFS 0x20U&lt;BR /&gt;mcan_handle_t mcanHandle;&lt;BR /&gt;mcan_buffer_transfer_t txXfer;&lt;BR /&gt;mcan_fifo_transfer_t rxXfer;&lt;BR /&gt;/*******************************************************************************&lt;BR /&gt;* Prototypes&lt;BR /&gt;******************************************************************************/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*******************************************************************************&lt;BR /&gt;* Variables&lt;BR /&gt;******************************************************************************/&lt;BR /&gt;volatile bool rxComplete = false;&lt;BR /&gt;volatile bool txComplete = false;&lt;BR /&gt;mcan_rx_buffer_frame_t rxFrame;&lt;BR /&gt;mcan_tx_buffer_frame_t txFrame;&lt;BR /&gt;uint8_t tx_data[CAN_DATASIZE];&lt;BR /&gt;uint8_t rx_data[CAN_DATASIZE];&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*******************************************************************************&lt;BR /&gt;* Code&lt;BR /&gt;******************************************************************************/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;//void CAN0_IRQ0_IRQHandler(void)&lt;BR /&gt;//{&lt;BR /&gt;// MCAN_ClearStatusFlag(EXAMPLE_MCAN, CAN_IR_RF0N_MASK);&lt;BR /&gt;// MCAN_ReadRxFifo(EXAMPLE_MCAN, 0, &amp;amp;rxFrame);&lt;BR /&gt;// rxComplete = true;&lt;BR /&gt;// /* Add for ARM errata 838869, affects Cortex-M4, Cortex-M4F Store immediate overlapping&lt;BR /&gt;// exception return operation might vector to incorrect interrupt */&lt;BR /&gt;//#if defined __CORTEX_M &amp;amp;&amp;amp; (__CORTEX_M == 4U)&lt;BR /&gt;// __DSB();&lt;BR /&gt;//#endif&lt;BR /&gt;//}&lt;BR /&gt;static void mcan_callback(CAN_Type *base, mcan_handle_t *handle, status_t status, uint32_t result, void *userData)&lt;BR /&gt;{&lt;BR /&gt;switch (status)&lt;BR /&gt;{&lt;BR /&gt;case kStatus_MCAN_RxFifo0Idle:&lt;BR /&gt;{&lt;BR /&gt;rxComplete = true;&lt;BR /&gt;}&lt;BR /&gt;break;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;case kStatus_MCAN_TxIdle:&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;txComplete = true;&lt;BR /&gt;}&lt;BR /&gt;break;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;default:&lt;BR /&gt;break;&lt;BR /&gt;}&lt;BR /&gt;// MCAN_TransmitCancelRequest(EXAMPLE_MCAN,0);&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*!&lt;BR /&gt;* @brief Main function&lt;BR /&gt;*/&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;mcan_config_t mcanConfig;&lt;BR /&gt;mcan_frame_filter_config_t rxFilter;&lt;BR /&gt;mcan_std_filter_element_config_t stdFilter;&lt;BR /&gt;mcan_rx_fifo_config_t rxFifo0;&lt;BR /&gt;mcan_tx_buffer_config_t txBuffer;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Initialize board hardware. */&lt;BR /&gt;/* attach 12 MHz clock to FLEXCOMM0 (debug console) */&lt;BR /&gt;CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Set MCAN clock 180/5=36MHz. */&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;CLOCK_SetClkDiv(kCLOCK_DivCan0Clk, 5U, true);&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BOARD_InitPins();&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;BOARD_BootClockPLL180M();&lt;/FONT&gt;&lt;BR /&gt;BOARD_InitDebugConsole();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF("\r\n==MCAN loopback functional example -- Start.==\r\n\r\n");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;MCAN_GetDefaultConfig(&amp;amp;mcanConfig);&lt;/FONT&gt;&lt;SPAN&gt;&lt;BR /&gt;//mcanConfig.enableLoopBackExt = true;&lt;BR /&gt;#if (defined(USE_CANFD) &amp;amp;&amp;amp; USE_CANFD)&lt;BR /&gt;// mcanConfig.enableCanfdNormal = true;&lt;BR /&gt;#endif&lt;BR /&gt;&lt;BR /&gt;#if (defined(USE_IMPROVED_TIMING_CONFIG) &amp;amp;&amp;amp; USE_IMPROVED_TIMING_CONFIG)&lt;BR /&gt;mcan_timing_config_t timing_config;&lt;BR /&gt;memset(&amp;amp;timing_config, 0, sizeof(timing_config));&lt;BR /&gt;#if (defined(USE_CANFD) &amp;amp;&amp;amp; USE_CANFD)&lt;BR /&gt;if (MCAN_FDCalculateImprovedTimingValues(mcanConfig.baudRateA, mcanConfig.baudRateD, MCAN_CLK_FREQ, &amp;amp;timing_config))&lt;BR /&gt;{&lt;BR /&gt;/* Update the improved timing configuration*/&lt;BR /&gt;memcpy(&amp;amp;(mcanConfig.timingConfig), &amp;amp;timing_config, sizeof(mcan_timing_config_t));&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;PRINTF("No found Improved Timing Configuration. use default configuration\r\n\r\n");&lt;BR /&gt;}&lt;BR /&gt;#else&lt;BR /&gt;if (MCAN_CalculateImprovedTimingValues(mcanConfig.baudRateA, MCAN_CLK_FREQ, &amp;amp;timing_config))&lt;BR /&gt;{&lt;BR /&gt;/* Update the improved timing configuration*/&lt;BR /&gt;memcpy(&amp;amp;(mcanConfig.timingConfig), &amp;amp;timing_config, sizeof(mcan_timing_config_t));&lt;BR /&gt;}&lt;BR /&gt;else&lt;BR /&gt;{&lt;BR /&gt;PRINTF("No found Improved Timing Configuration. use default configuration\r\n\r\n");&lt;BR /&gt;}&lt;BR /&gt;#endif&lt;BR /&gt;#endif&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#FF0000"&gt;MCAN_Init(EXAMPLE_MCAN, &amp;amp;mcanConfig, MCAN_CLK_FREQ);&lt;/FONT&gt;&lt;SPAN&gt;&lt;BR /&gt;MCAN_TransferCreateHandle(EXAMPLE_MCAN, &amp;amp;mcanHandle, mcan_callback, NULL);&lt;BR /&gt;/* Set Message RAM base address and clear to avoid BEU/BEC error. */&lt;BR /&gt;MCAN_SetMsgRAMBase(EXAMPLE_MCAN, MSG_RAM_BASE);&lt;BR /&gt;uint32_t *p = (uint32_t *)(MSG_RAM_BASE);&lt;BR /&gt;memset(p, 0, (8U + CAN_DATASIZE) * sizeof(uint8_t));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* STD filter config. */&lt;BR /&gt;rxFilter.address = STD_FILTER_OFS;&lt;BR /&gt;rxFilter.idFormat = kMCAN_FrameIDStandard;&lt;BR /&gt;rxFilter.listSize = 1U;&lt;BR /&gt;rxFilter.nmFrame = kMCAN_reject0;&lt;BR /&gt;rxFilter.remFrame = kMCAN_rejectFrame;&lt;BR /&gt;MCAN_SetFilterConfig(EXAMPLE_MCAN, &amp;amp;rxFilter);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;stdFilter.sfec = kMCAN_storeinFifo0;&lt;BR /&gt;/* Classic filter mode, only filter matching ID. */&lt;BR /&gt;stdFilter.sft = kMCAN_classic;&lt;BR /&gt;stdFilter.sfid1 = 0x123U;&lt;BR /&gt;stdFilter.sfid2 = 0x0U;&lt;BR /&gt;MCAN_SetSTDFilterElement(EXAMPLE_MCAN, &amp;amp;rxFilter, &amp;amp;stdFilter, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* RX fifo0 config. */&lt;BR /&gt;rxFifo0.address = RX_FIFO0_OFS;&lt;BR /&gt;rxFifo0.elementSize = 1U;&lt;BR /&gt;rxFifo0.watermark = 0;&lt;BR /&gt;rxFifo0.opmode = kMCAN_FifoBlocking;&lt;BR /&gt;rxFifo0.datafieldSize = kMCAN_8ByteDatafield;&lt;BR /&gt;#if (defined(USE_CANFD) &amp;amp;&amp;amp; USE_CANFD)&lt;BR /&gt;rxFifo0.datafieldSize = BYTES_IN_MB;&lt;BR /&gt;#endif&lt;BR /&gt;MCAN_SetRxFifo0Config(EXAMPLE_MCAN, &amp;amp;rxFifo0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* TX buffer config. */&lt;BR /&gt;memset(&amp;amp;txBuffer, 0, sizeof(txBuffer));&lt;BR /&gt;txBuffer.address = TX_BUFFER_OFS;&lt;BR /&gt;txBuffer.dedicatedSize = 1U;&lt;BR /&gt;txBuffer.fqSize = 0;&lt;BR /&gt;txBuffer.datafieldSize = kMCAN_8ByteDatafield;&lt;BR /&gt;// txBuffer.mode = kMCAN_txQueue;&lt;BR /&gt;#if (defined(USE_CANFD) &amp;amp;&amp;amp; USE_CANFD)&lt;BR /&gt;txBuffer.datafieldSize = BYTES_IN_MB;&lt;BR /&gt;#endif&lt;BR /&gt;MCAN_SetTxBufferConfig(EXAMPLE_MCAN, &amp;amp;txBuffer);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Enable RX fifo0 new message interrupt using interrupt line 0. */&lt;BR /&gt;// MCAN_EnableInterrupts(EXAMPLE_MCAN, 0, CAN_IE_RF0NE_MASK);&lt;BR /&gt;// EnableIRQ(CAN0_IRQ0_IRQn);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Enter normal mode. */&lt;BR /&gt;MCAN_EnterNormalMode(EXAMPLE_MCAN);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Config TX frame data. */&lt;BR /&gt;uint8_t cnt = 0;&lt;BR /&gt;for (cnt = 0; cnt &amp;lt; CAN_DATASIZE; cnt++)&lt;BR /&gt;{&lt;BR /&gt;tx_data[cnt] = cnt;&lt;BR /&gt;}&lt;BR /&gt;txFrame.xtd = kMCAN_FrameIDStandard;&lt;BR /&gt;txFrame.rtr = kMCAN_FrameTypeData;&lt;BR /&gt;txFrame.fdf = 0;&lt;BR /&gt;txFrame.brs = 0;&lt;BR /&gt;txFrame.dlc = 8U;&lt;BR /&gt;txFrame.id = 0x110U &amp;lt;&amp;lt; STDID_OFFSET;&lt;BR /&gt;txFrame.data = tx_data;&lt;BR /&gt;txFrame.size = CAN_DATASIZE;&lt;BR /&gt;#if (defined(USE_CANFD) &amp;amp;&amp;amp; USE_CANFD)&lt;BR /&gt;txFrame.fdf = 1;&lt;BR /&gt;txFrame.brs = 1;&lt;BR /&gt;txFrame.dlc = DLC;&lt;BR /&gt;#endif&lt;BR /&gt;// MCAN_TransferSendBlocking(EXAMPLE_MCAN, 0, &amp;amp;txFrame);&lt;BR /&gt;&lt;BR /&gt;txXfer.frame = &amp;amp;txFrame;&lt;BR /&gt;txXfer.bufferIdx = 0;&lt;BR /&gt;// while(1){&lt;BR /&gt;&lt;FONT color="#FF0000"&gt;MCAN_TransferSendNonBlocking(EXAMPLE_MCAN, &amp;amp;mcanHandle, &amp;amp;txXfer);&lt;/FONT&gt;&lt;BR /&gt;// }&lt;BR /&gt;while (!txComplete){&lt;BR /&gt;}&lt;BR /&gt;txComplete = false;&lt;BR /&gt;rxFrame.size = CAN_DATASIZE;&lt;BR /&gt;rxXfer.frame = &amp;amp;rxFrame;&lt;BR /&gt;MCAN_TransferReceiveFifoNonBlocking(EXAMPLE_MCAN, 0, &amp;amp;mcanHandle, &amp;amp;rxXfer);&lt;BR /&gt;while (!rxComplete)&lt;BR /&gt;{&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;// rxFrame.size = CAN_DATASIZE;&lt;BR /&gt;// /* After call the API of rMCAN_TransferReceiveFifoNonBlocking success, we can&lt;BR /&gt;// * only get a point (rxFrame.data) to the fifo reading entrance.&lt;BR /&gt;// * Copy the received frame data from the FIFO by the pointer(rxFrame.data). */&lt;BR /&gt;// memcpy(rx_data, rxFrame.data, rxFrame.size);&lt;BR /&gt;//&lt;BR /&gt;// PRINTF("Received Frame ID: 0x%x\r\n", rxFrame.id &amp;gt;&amp;gt; STDID_OFFSET);&lt;BR /&gt;// PRINTF("Received Frame DATA: ");&lt;BR /&gt;// cnt = 0;&lt;BR /&gt;// while (cnt &amp;lt; rxFrame.size)&lt;BR /&gt;// {&lt;BR /&gt;// PRINTF("0x%x ", rx_data[cnt++]);&lt;BR /&gt;// }&lt;BR /&gt;rxComplete = false;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* After call the API of rMCAN_TransferReceiveFifoNonBlocking success, we can&lt;BR /&gt;* only get a point (rxFrame.data) to the fifo reading entrance.&lt;BR /&gt;* Copy the received frame data from the FIFO by the pointer(rxFrame.data). */&lt;BR /&gt;memcpy(rx_data, rxFrame.data, rxFrame.size);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRINTF("Received Frame ID: 0x%x\r\n", rxFrame.id &amp;gt;&amp;gt; STDID_OFFSET);&lt;BR /&gt;PRINTF("Received Frame DATA: ");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;cnt = 0;&lt;BR /&gt;while (cnt &amp;lt; rxFrame.size)&lt;BR /&gt;{&lt;BR /&gt;PRINTF("0x%x ", rx_data[cnt++]);&lt;BR /&gt;}&lt;BR /&gt;PRINTF("\r\n");&lt;BR /&gt;PRINTF("\r\n\r\n==MCAN loopback functional example -- Finish.==\r\n");&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;while (1)&lt;BR /&gt;{&lt;BR /&gt;}&lt;BR /&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Question:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I dont not know how to set CAN BUS buadrate to 1MHZ.I use&amp;nbsp;classic CAN.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have changed the can0 clock&amp;nbsp;frequency to 36 MHZ by use this function &lt;FONT color="#FF0000"&gt;“&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;CLOCK_SetClkDiv(kCLOCK_DivCan0Clk, 5U, true)&lt;/FONT&gt;;&lt;/STRONG&gt;” .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;when I set can bus buadrate to 500khz,I find that it worked normal,the&amp;nbsp;configuration is &lt;/SPAN&gt;：&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;void MCAN_GetDefaultConfig(mcan_config_t *config)&lt;BR /&gt;{&lt;BR /&gt;/* Assertion. */&lt;BR /&gt;assert(NULL != config);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Initializes the configure structure to zero. */&lt;BR /&gt;(void)memset(config, 0, sizeof(*config));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Initialize MCAN Module config struct with default value. */&lt;BR /&gt;config-&amp;gt;baudRateA = &lt;FONT color="#FF0000"&gt;500000&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;baudRateD = &lt;FONT color="#FF0000"&gt;500000&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;enableCanfdNormal = false;&lt;BR /&gt;config-&amp;gt;enableCanfdSwitch = false;&lt;BR /&gt;config-&amp;gt;enableLoopBackInt = false;&lt;BR /&gt;config-&amp;gt;enableLoopBackExt = false;&lt;BR /&gt;config-&amp;gt;enableBusMon = false;&lt;BR /&gt;/* Default protocol timing configuration, time quantum is 16. */&lt;BR /&gt;config-&amp;gt;timingConfig.seg1 = &lt;FONT color="#FF0000"&gt;0x6&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;timingConfig.seg2 = &lt;FONT color="#FF0000"&gt;0x3&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;timingConfig.rJumpwidth = &lt;FONT color="#FF0000"&gt;0x1&lt;/FONT&gt;U;&lt;BR /&gt;#if (defined(FSL_FEATURE_CAN_SUPPORT_CANFD) &amp;amp;&amp;amp; FSL_FEATURE_CAN_SUPPORT_CANFD)&lt;BR /&gt;config-&amp;gt;timingConfig.dataseg1 = 0x16U;&lt;BR /&gt;config-&amp;gt;timingConfig.dataseg2 = 0xBU;&lt;BR /&gt;config-&amp;gt;timingConfig.datarJumpwidth = 0xAU;&lt;BR /&gt;#endif&lt;BR /&gt;}&lt;/SPAN&gt;；&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;when I set can bus buadrate to &lt;FONT color="#FF0000"&gt;1000khz&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT color="#FF0000"&gt;（&lt;SPAN&gt;1Mhz&lt;/SPAN&gt;）&lt;/FONT&gt;&lt;SPAN&gt;,unfortunately&lt;/SPAN&gt;，&lt;SPAN&gt;something I can not predict has happened&lt;/SPAN&gt;，&lt;SPAN&gt;it has send data 13 times by&amp;nbsp; called this function “MCAN_TransferSendNonBlocking(EXAMPLE_MCAN, &amp;amp;mcanHandle, &amp;amp;txXfer);” one time&lt;/SPAN&gt;，&lt;SPAN&gt;and the&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;“”txComplete” always&amp;nbsp;equal to FALSE, the&amp;nbsp;configuration is:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;void MCAN_GetDefaultConfig(mcan_config_t *config)&lt;BR /&gt;{&lt;BR /&gt;/* Assertion. */&lt;BR /&gt;assert(NULL != config);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Initializes the configure structure to zero. */&lt;BR /&gt;(void)memset(config, 0, sizeof(*config));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/* Initialize MCAN Module config struct with default value. */&lt;BR /&gt;config-&amp;gt;baudRateA = &lt;FONT color="#FF0000"&gt;1000000&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;baudRateD = &lt;FONT color="#FF0000"&gt;1000000&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;enableCanfdNormal = false;&lt;BR /&gt;config-&amp;gt;enableCanfdSwitch = false;&lt;BR /&gt;config-&amp;gt;enableLoopBackInt = false;&lt;BR /&gt;config-&amp;gt;enableLoopBackExt = false;&lt;BR /&gt;config-&amp;gt;enableBusMon = false;&lt;BR /&gt;/* Default protocol timing configuration, time quantum is 16. */&lt;BR /&gt;config-&amp;gt;timingConfig.seg1 =&lt;FONT color="#FF0000"&gt; 0x6&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;timingConfig.seg2 = &lt;FONT color="#FF0000"&gt;0x3&lt;/FONT&gt;U;&lt;BR /&gt;config-&amp;gt;timingConfig.rJumpwidth =&lt;FONT color="#FF0000"&gt; 0x1&lt;/FONT&gt;U;&lt;BR /&gt;#if (defined(FSL_FEATURE_CAN_SUPPORT_CANFD) &amp;amp;&amp;amp; FSL_FEATURE_CAN_SUPPORT_CANFD)&lt;BR /&gt;config-&amp;gt;timingConfig.dataseg1 = 0x16U;&lt;BR /&gt;config-&amp;gt;timingConfig.dataseg2 = 0xBU;&lt;BR /&gt;config-&amp;gt;timingConfig.datarJumpwidth = 0xAU;&lt;BR /&gt;#endif&lt;BR /&gt;}&lt;/SPAN&gt;；&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I was use LPC54618 and cantest soft to analyse can bus.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This question has confused a few days,I would appreciate it if it could be resolved.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yours yang,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thank you &lt;/SPAN&gt;！&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Mar 2021 12:30:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1241750#M44180</guid>
      <dc:creator>Xiaoyh</dc:creator>
      <dc:date>2021-03-08T12:30:28Z</dc:date>
    </item>
    <item>
      <title>Re: LPC54618_CAN</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1242289#M44190</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;First recommend you use the MCUXpresso Configure tool to config the CAN module to 1MHZ to test,&lt;/P&gt;
&lt;P&gt;check whether it can work well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Tue, 09 Mar 2021 07:04:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1242289#M44190</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2021-03-09T07:04:33Z</dc:date>
    </item>
    <item>
      <title>Re: LPC54618_CAN</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1243227#M44223</link>
      <description>&lt;P&gt;Thank you for your recommendation, but I am not familiar with the recommended software and do not know how to use it. Is there any other way to solve it.&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Mar 2021 11:25:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1243227#M44223</guid>
      <dc:creator>Xiaoyh</dc:creator>
      <dc:date>2021-03-10T11:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: LPC54618_CAN</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1244076#M44249</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Use MCUXpresso configuration tool can just configure the clock, baud rate as your requirement, then it&lt;/P&gt;
&lt;P&gt;generate&amp;nbsp; code automatically , you can compare the code with your code to check whether the code is configured well.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alice_Yang_0-1615455107620.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/139387i2BE992D8E6A58D99/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alice_Yang_0-1615455107620.png" alt="Alice_Yang_0-1615455107620.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR&lt;/P&gt;
&lt;P&gt;Alice&lt;/P&gt;</description>
      <pubDate>Thu, 11 Mar 2021 09:31:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1244076#M44249</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2021-03-11T09:31:59Z</dc:date>
    </item>
    <item>
      <title>Re: LPC54618_CAN</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1247738#M44317</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="微信图片_20210318104108.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/139984i30BA211F03D78073/image-size/medium?v=v2&amp;amp;px=400" role="button" title="微信图片_20210318104108.png" alt="微信图片_20210318104108.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="微信图片_20210318104957.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/139986i759C0FD1672F643B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="微信图片_20210318104957.png" alt="微信图片_20210318104957.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I used&amp;nbsp;&lt;SPAN&gt;&amp;nbsp;MCUXpresso configuration tool configure the clock, baud rate，then it can send data&amp;nbsp;normally，but it can not receive，I do not know&amp;nbsp; what make that happened.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thank you&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Mar 2021 02:51:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC54618-CAN/m-p/1247738#M44317</guid>
      <dc:creator>Xiaoyh</dc:creator>
      <dc:date>2021-03-18T02:51:02Z</dc:date>
    </item>
  </channel>
</rss>

