Changing CAN interface configuration on KW47-EVK while using serial terminal

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

Changing CAN interface configuration on KW47-EVK while using serial terminal

Changing CAN interface configuration on KW47-EVK while using serial terminal

Most available example applications use UART as the serial interface for terminal communication. This approach is commonly chosen because a terminal provides a simple and efficient method for interacting with the application during development and debugging.

The KW47-EVK supports two CAN/CAN-FD interface; as well as two UART interfaces accessible through the onboard USB-to-UART bridge. 

The corresponding SoC peripheral instances are CAN0 and CAN1 for the CAN/CAN‑FD interfaces, and LPUART0 and LPUART1 for the UART interfaces.

Since the LPUART1 serial interface and the CAN1 interface are routed to the same pins (PTC2 and PTC3) at the board level, and both functions can be enabled through header configuration, external isolation is required to ensure correct operation and prevent interference from other onboard components.

If CAN1 must be enabled and your application also requires a serial terminal interface, then LPUART0 must be used as the serial interface.To enable both CAN1 and LPUART0 on the KW47‑EVK, follow the steps below:

Changes required on hardware

CAN Node A CAN Node B
Pin name Board jumper Pin name Board jumper
CANH J21 - 1 CANH J21 - 1
CANL J21 - 2 CANL J21 - 2
GND J21 - 4 GND J21 - 4
P12V J21 - 3 P12V J21 - 3

 Note: Plug in the 12V power supply on J9 to supply the P5V_CAN.

LPUART0 interface connection
Functionality Board jumper Connection configuration
LIN_RX JP11 2 - 3
LIN_TX JP12 2 - 3
UART_RX_USB selector JP16 2 - 3
UART_TX_USB selector JP17 2 - 3
CAN_RX_1 selector JP56 1 - 2
CAN_TX_1 selector JP57 1 - 2

 

kw47evk_jumpers.png

Changes required on software

Note: These steps assume you are using a FlexCAN SDK example application.

If your application requires enabling CAN1 instead of the default CAN0, update the following configuration in your project’s source code:

1. In board.c, modify the LPUART instance, kCLOCK_Lpuart1 -> kCLOCK_Lpuart0:

/* Initialize debug console. */
void BOARD_InitDebugConsole(void)
{
    uint32_t uartClkSrcFreq = 0U;

    /* Set LPUART0 clock source */
    CLOCK_SetIpSrc(kCLOCK_Lpuart0, kCLOCK_IpSrcFro192M);
    uartClkSrcFreq = CLOCK_GetIpFreq(kCLOCK_Lpuart0);

    DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE, BOARD_DEBUG_UART_BAUDRATE, BOARD_DEBUG_UART_TYPE, uartClkSrcFreq);
}

2. In board.h, modify the LPUART instance definitions:

  • BOARD_DEBUG_UART_BASEADDR LPUART1 -> LPUART0
  • BOARD_DEBUG_UART_INSTANCE 1U -> 0U
  • BOARD_DEBUG_UART_CLK_FREQ kCLOCK_Lpuart1 -> kCLOCK_Lpuart0
/* The UART to use for debug messages. */
#define BOARD_USE_LPUART
#define BOARD_DEBUG_UART_TYPE     kSerialPort_Uart
#define BOARD_DEBUG_UART_BASEADDR (uint32_t) LPUART0
#define BOARD_DEBUG_UART_INSTANCE 0U
#define BOARD_DEBUG_UART_CLK_FREQ (CLOCK_GetIpFreq(kCLOCK_Lpuart0))

3. In hardware_init.c, modify the CAN instance to CAN1 at FlexCAN functional clock configuration:

void BOARD_InitHardware(void)
{
    BOARD_InitPins();
    BOARD_BootClockRUN();
    BOARD_InitDebugConsole();

    /* FRO192M is configured as CAN1 functional clock in this example
       but other clock options may be available */
    CLOCK_SetIpSrc(kCLOCK_Can1, kCLOCK_IpSrcFro192M);
    CLOCK_SetIpSrcDiv(kCLOCK_Can1, kSCG_SysClkDivBy1);
}

4. In app.h, modify the EXAMPLE_CAN definition to CAN1:

#define EXAMPLE_CAN           CAN1
#define USE_CANFD             (1)
#define RX_MESSAGE_BUFFER_NUM (0)
#define TX_MESSAGE_BUFFER_NUM (1)

5. In pin_mux.c, modify pin multiplexing configuration to enable CAN1 and LPUART0 pins respectively. You can copy and paste the below code to replace BOARD_InitPins function:

void BOARD_InitPins(void)
{
    /* Clock Config: Peripheral clocks are enabled; module does not stall low power mode entry */
    CLOCK_EnableClock(kCLOCK_PortA);
    CLOCK_EnableClock(kCLOCK_PortC);

    const port_pin_config_t porta16_pin11_config = {/* Internal pull-up/down resistor is disabled */
                                                   (uint16_t)kPORT_PullDisable,
                                                   /* Low internal pull resistor value is selected. */
                                                   (uint16_t)kPORT_LowPullResistor,
                                                   /* Fast slew rate is configured */
                                                   (uint16_t)kPORT_FastSlewRate,
                                                   /* Passive input filter is disabled */
                                                   (uint16_t)kPORT_PassiveFilterDisable,
                                                   /* Open drain output is disabled */
                                                   (uint16_t)kPORT_OpenDrainDisable,
                                                   /* Low drive strength is configured */
                                                   (uint16_t)kPORT_LowDriveStrength,
                                                   /* Normal drive strength is configured */
                                                   (uint16_t)kPORT_NormalDriveStrength,
                                                   /* Pin is configured as LPUART0_RX */
                                                   (uint16_t)kPORT_MuxAlt6,
                                                   /* Does not invert */
                                                   (uint16_t)kPORT_InputNormal,
                                                   /* Pin Control Register fields [15:0] are not locked */
                                                   (uint16_t)kPORT_UnlockRegister};
    /* PORTA16 (pin 11) is configured as LPUART0_RX */
    PORT_SetPinConfig(PORTA, 16U, &porta16_pin11_config);

    const port_pin_config_t porta17_pin12_config = {/* Internal pull-up/down resistor is disabled */
                                                   (uint16_t)kPORT_PullDisable,
                                                   /* Low internal pull resistor value is selected. */
                                                   (uint16_t)kPORT_LowPullResistor,
                                                   /* Fast slew rate is configured */
                                                   (uint16_t)kPORT_FastSlewRate,
                                                   /* Passive input filter is disabled */
                                                   (uint16_t)kPORT_PassiveFilterDisable,
                                                   /* Open drain output is disabled */
                                                   (uint16_t)kPORT_OpenDrainDisable,
                                                   /* Low drive strength is configured */
                                                   (uint16_t)kPORT_LowDriveStrength,
                                                   /* Normal drive strength is configured */
                                                   (uint16_t)kPORT_NormalDriveStrength,
                                                   /* Pin is configured as LPUART0_TX */
                                                   (uint16_t)kPORT_MuxAlt6,
                                                   /* Does not invert */
                                                   (uint16_t)kPORT_InputNormal,
                                                   /* Pin Control Register fields [15:0] are not locked */
                                                   (uint16_t)kPORT_UnlockRegister};
    /* PORTA17 (pin 12) is configured as LPUART0_TX */
    PORT_SetPinConfig(PORTA, 17U, &porta17_pin12_config);

    const port_pin_config_t portc2_pin39_config = {/* Internal pull-up/down resistor is disabled */
                                                   (uint16_t)kPORT_PullDisable,
                                                   /* Low internal pull resistor value is selected. */
                                                   (uint16_t)kPORT_LowPullResistor,
                                                   /* Fast slew rate is configured */
                                                   (uint16_t)kPORT_FastSlewRate,
                                                   /* Passive input filter is disabled */
                                                   (uint16_t)kPORT_PassiveFilterDisable,
                                                   /* Open drain output is disabled */
                                                   (uint16_t)kPORT_OpenDrainDisable,
                                                   /* Low drive strength is configured */
                                                   (uint16_t)kPORT_LowDriveStrength,
                                                   /* Normal drive strength is configured */
                                                   (uint16_t)kPORT_NormalDriveStrength,
                                                   /* Pin is configured as CAN1_RX */
                                                   (uint16_t)kPORT_MuxAlt11,
                                                   /* Does not invert */
                                                   (uint16_t)kPORT_InputNormal,
                                                   /* Pin Control Register fields [15:0] are not locked */
                                                   (uint16_t)kPORT_UnlockRegister};
    /* PORTC2 (pin 39) is configured as CAN1_RX */
    PORT_SetPinConfig(PORTC, 2U, &portc2_pin39_config);

    const port_pin_config_t portc3_pin40_config = {/* Internal pull-up/down resistor is disabled */
                                                   (uint16_t)kPORT_PullDisable,
                                                   /* Low internal pull resistor value is selected. */
                                                   (uint16_t)kPORT_LowPullResistor,
                                                   /* Fast slew rate is configured */
                                                   (uint16_t)kPORT_FastSlewRate,
                                                   /* Passive input filter is disabled */
                                                   (uint16_t)kPORT_PassiveFilterDisable,
                                                   /* Open drain output is disabled */
                                                   (uint16_t)kPORT_OpenDrainDisable,
                                                   /* Low drive strength is configured */
                                                   (uint16_t)kPORT_LowDriveStrength,
                                                   /* Normal drive strength is configured */
                                                   (uint16_t)kPORT_NormalDriveStrength,
                                                   /* Pin is configured as CAN1_TX */
                                                   (uint16_t)kPORT_MuxAlt11,
                                                   /* Does not invert */
                                                   (uint16_t)kPORT_InputNormal,
                                                   /* Pin Control Register fields [15:0] are not locked */
                                                   (uint16_t)kPORT_UnlockRegister};
    /* PORTC3 (pin 43) is configured as CAN1_TX */
    PORT_SetPinConfig(PORTC, 3U, &portc3_pin40_config);
}

Run your demo application

  1. Connect a USB cable between the host PC and the KW47-EVK board J14.
  2. Open a serial terminal on PC for each board with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  3. Download the program to the target board
  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.
%3CLINGO-SUB%20id%3D%22lingo-sub-2305489%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EChanging%20CAN%20interface%20configuration%20on%20KW47-EVK%20while%20using%20serial%20terminal%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2305489%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EMost%20available%20example%20applications%20use%20UART%20as%20the%20serial%20interface%20for%20terminal%20communication.%20This%20approach%20is%20commonly%20chosen%20because%20a%20terminal%20provides%20a%20simple%20and%20efficient%20method%20for%20interacting%20with%20the%20application%20during%20development%20and%20debugging.%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EThe%20KW47-EVK%20supports%20two%20CAN%2FCAN-FD%20interface%3B%20as%20well%20as%20two%20UART%20interfaces%20accessible%20through%20the%20onboard%20USB-to-UART%20bridge.%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EThe%20corresponding%20SoC%20peripheral%20instances%20are%20CAN0%20and%20CAN1%20for%20the%20CAN%2FCAN%E2%80%91FD%20interfaces%2C%20and%20LPUART0%20and%20LPUART1%20for%20the%20UART%20interfaces.%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3ESince%20the%20LPUART1%20serial%20interface%20and%20the%20CAN1%20interface%20are%20routed%20to%20the%20same%20pins%20(PTC2%20and%20PTC3)%20at%20the%20board%20level%2C%20and%20both%20functions%20can%20be%20enabled%20through%20header%20configuration%2C%20external%20isolation%20is%20required%20to%20ensure%20correct%20operation%20and%20prevent%20interference%20from%20other%20onboard%20components.%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EIf%20CAN1%20must%20be%20enabled%20and%20your%20application%20also%20requires%20a%20serial%20terminal%20interface%2C%20then%20LPUART0%20must%20be%20used%20as%20the%20serial%20interface.To%20enable%20both%20CAN1%20and%20LPUART0%20on%20the%20KW47%E2%80%91EVK%2C%20follow%20the%20steps%20below%3A%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%3CSTRONG%3EChanges%20required%20on%20hardware%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CTABLE%20class%3D%22lia-align-justify%22%20border%3D%221%22%20width%3D%22100%25%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2250%25%22%20class%3D%22lia-align-center%22%20style%3D%22text-align%3A%20center%3B%22%20style%3D%22text-align%3A%20center%3B%22%3E%3CSTRONG%3ECAN%20Node%20A%3C%2FSTRONG%3E%3C%2FTD%3E%0A%3CTD%20width%3D%2250%25%22%3E%3CSTRONG%3ECAN%20Node%20B%3C%2FSTRONG%3E%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CTABLE%20class%3D%22lia-align-justify%22%20border%3D%221%22%20width%3D%22100%25%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EPin%20name%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EBoard%20jumper%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EPin%20name%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EBoard%20jumper%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3ECANH%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%201%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3ECANH%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%201%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3ECANL%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%202%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3ECANL%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%202%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EGND%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%204%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EGND%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%204%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EP12V%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%203%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EP12V%3C%2FTD%3E%0A%3CTD%20width%3D%2225%25%22%20height%3D%2225px%22%3EJ21%20-%203%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3CSPAN%3E%3CSTRONG%3ENote%3A%3C%2FSTRONG%3E%20Plug%20in%20the%2012V%20power%20supply%20on%20J9%20to%20supply%20the%20P5V_CAN.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CTABLE%20class%3D%22lia-align-justify%22%20border%3D%221%22%20width%3D%22100%25%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%0A%3CTBODY%3E%0A%3CTR%3E%0A%3CTD%20colspan%3D%223%22%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%20class%3D%22lia-align-center%22%20style%3D%22text-align%3A%20center%3B%22%20style%3D%22text-align%3A%20center%3B%22%3E%3CSTRONG%3ELPUART0%20interface%20connection%3C%2FSTRONG%3E%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EFunctionality%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EBoard%20jumper%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EConnection%20configuration%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3ELIN_RX%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EJP11%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3E2%20-%203%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3ELIN_TX%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EJP12%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3E2%20-%203%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EUART_RX_USB%20selector%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EJP16%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3E2%20-%203%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EUART_TX_USB%20selector%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EJP17%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3E2%20-%203%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3ECAN_RX_1%20selector%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EJP56%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3E1%20-%202%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3CTR%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3ECAN_TX_1%20selector%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3EJP57%3C%2FTD%3E%0A%3CTD%20width%3D%2233.286318758815234%25%22%20height%3D%2225px%22%3E1%20-%202%3C%2FTD%3E%0A%3C%2FTR%3E%0A%3C%2FTBODY%3E%0A%3C%2FTABLE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22kw47evk_jumpers.png%22%20style%3D%22width%3A%20380px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22kw47evk_jumpers.png%22%20style%3D%22width%3A%20380px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F375351i22052A0D9E8A7E8A%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22kw47evk_jumpers.png%22%20alt%3D%22kw47evk_jumpers.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%3CSTRONG%3EChanges%20required%20on%20software%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%3CSTRONG%3E%3CSPAN%3ENote%3A%26nbsp%3B%3C%2FSPAN%3E%3C%2FSTRONG%3EThese%20steps%20assume%20you%20are%20using%20a%20FlexCAN%20SDK%20example%20application.%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EIf%20your%20application%20requires%20enabling%20CAN1%20instead%20of%20the%20default%20CAN0%2C%20update%20%3CFONT%20color%3D%22%23333333%22%3Ethe%3C%2FFONT%3E%20following%20configuration%20in%20your%20project%E2%80%99s%20source%20code%3A%3C%2FP%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E1.%20In%20%3CEM%3E%3CSTRONG%3Eboard.c%3C%2FSTRONG%3E%3C%2FEM%3E%2C%20modify%20the%20LPUART%20instance%2C%20kCLOCK_Lpuart1%20-%26gt%3B%20kCLOCK_Lpuart0%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%2F*%20Initialize%20debug%20console.%20*%2F%0Avoid%20BOARD_InitDebugConsole(void)%0A%7B%0A%20%20%20%20uint32_t%20uartClkSrcFreq%20%3D%200U%3B%0A%0A%20%20%20%20%2F*%20Set%20LPUART0%20clock%20source%20*%2F%0A%20%20%20%20CLOCK_SetIpSrc(kCLOCK_Lpuart0%2C%20kCLOCK_IpSrcFro192M)%3B%0A%20%20%20%20uartClkSrcFreq%20%3D%20CLOCK_GetIpFreq(kCLOCK_Lpuart0)%3B%0A%0A%20%20%20%20DbgConsole_Init(BOARD_DEBUG_UART_INSTANCE%2C%20BOARD_DEBUG_UART_BAUDRATE%2C%20BOARD_DEBUG_UART_TYPE%2C%20uartClkSrcFreq)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E2.%20In%20%3CEM%3E%3CSTRONG%3Eboard.h%3C%2FSTRONG%3E%3C%2FEM%3E%2C%20modify%20the%20LPUART%20instance%20definitions%3A%3C%2FP%3E%0A%3CUL%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%0A%3CLI%3EBOARD_DEBUG_UART_BASEADDR%20LPUART1%20-%26gt%3B%20LPUART0%3C%2FLI%3E%0A%3CLI%3EBOARD_DEBUG_UART_INSTANCE%201U%20-%26gt%3B%200U%3C%2FLI%3E%0A%3CLI%3EBOARD_DEBUG_UART_CLK_FREQ%20kCLOCK_Lpuart1%20-%26gt%3B%20kCLOCK_Lpuart0%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%2F*%20The%20UART%20to%20use%20for%20debug%20messages.%20*%2F%0A%23define%20BOARD_USE_LPUART%0A%23define%20BOARD_DEBUG_UART_TYPE%20%20%20%20%20kSerialPort_Uart%0A%23define%20BOARD_DEBUG_UART_BASEADDR%20(uint32_t)%20LPUART0%0A%23define%20BOARD_DEBUG_UART_INSTANCE%200U%0A%23define%20BOARD_DEBUG_UART_CLK_FREQ%20(CLOCK_GetIpFreq(kCLOCK_Lpuart0))%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E3.%26nbsp%3BIn%20%3CSTRONG%3E%3CEM%3Ehardware_init.c%3C%2FEM%3E%3C%2FSTRONG%3E%2C%20modify%20the%20CAN%20instance%20to%20CAN1%20at%20FlexCAN%20functional%20clock%20configuration%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3Evoid%20BOARD_InitHardware(void)%0A%7B%0A%20%20%20%20BOARD_InitPins()%3B%0A%20%20%20%20BOARD_BootClockRUN()%3B%0A%20%20%20%20BOARD_InitDebugConsole()%3B%0A%0A%20%20%20%20%2F*%20FRO192M%20is%20configured%20as%20CAN1%20functional%20clock%20in%20this%20example%0A%20%20%20%20%20%20%20but%20other%20clock%20options%20may%20be%20available%20*%2F%0A%20%20%20%20CLOCK_SetIpSrc(kCLOCK_Can1%2C%20kCLOCK_IpSrcFro192M)%3B%0A%20%20%20%20CLOCK_SetIpSrcDiv(kCLOCK_Can1%2C%20kSCG_SysClkDivBy1)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E4.%20In%26nbsp%3B%3CEM%3E%3CSTRONG%3Eapp.h%3C%2FSTRONG%3E%3C%2FEM%3E%2C%20modify%20the%20EXAMPLE_CAN%20definition%20to%20CAN1%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%23define%20EXAMPLE_CAN%20%20%20%20%20%20%20%20%20%20%20CAN1%0A%23define%20USE_CANFD%20%20%20%20%20%20%20%20%20%20%20%20%20(1)%0A%23define%20RX_MESSAGE_BUFFER_NUM%20(0)%0A%23define%20TX_MESSAGE_BUFFER_NUM%20(1)%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E5.%20In%20%3CEM%3E%3CSTRONG%3Epin_mux.c%3C%2FSTRONG%3E%3C%2FEM%3E%2C%20modify%20pin%20multiplexing%20configuration%20to%20enable%20CAN1%20and%20LPUART0%20pins%20respectively.%20You%20can%20copy%20and%20paste%20the%20below%20code%20to%20replace%20BOARD_InitPins%20function%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3Evoid%20BOARD_InitPins(void)%0A%7B%0A%20%20%20%20%2F*%20Clock%20Config%3A%20Peripheral%20clocks%20are%20enabled%3B%20module%20does%20not%20stall%20low%20power%20mode%20entry%20*%2F%0A%20%20%20%20CLOCK_EnableClock(kCLOCK_PortA)%3B%0A%20%20%20%20CLOCK_EnableClock(kCLOCK_PortC)%3B%0A%0A%20%20%20%20const%20port_pin_config_t%20porta16_pin11_config%20%3D%20%7B%2F*%20Internal%20pull-up%2Fdown%20resistor%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PullDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20internal%20pull%20resistor%20value%20is%20selected.%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowPullResistor%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Fast%20slew%20rate%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_FastSlewRate%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Passive%20input%20filter%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PassiveFilterDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Open%20drain%20output%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_OpenDrainDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Normal%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_NormalDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20is%20configured%20as%20LPUART0_RX%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_MuxAlt6%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Does%20not%20invert%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_InputNormal%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20Control%20Register%20fields%20%5B15%3A0%5D%20are%20not%20locked%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_UnlockRegister%7D%3B%0A%20%20%20%20%2F*%20PORTA16%20(pin%2011)%20is%20configured%20as%20LPUART0_RX%20*%2F%0A%20%20%20%20PORT_SetPinConfig(PORTA%2C%2016U%2C%20%26amp%3Bporta16_pin11_config)%3B%0A%0A%20%20%20%20const%20port_pin_config_t%20porta17_pin12_config%20%3D%20%7B%2F*%20Internal%20pull-up%2Fdown%20resistor%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PullDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20internal%20pull%20resistor%20value%20is%20selected.%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowPullResistor%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Fast%20slew%20rate%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_FastSlewRate%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Passive%20input%20filter%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PassiveFilterDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Open%20drain%20output%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_OpenDrainDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Normal%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_NormalDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20is%20configured%20as%20LPUART0_TX%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_MuxAlt6%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Does%20not%20invert%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_InputNormal%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20Control%20Register%20fields%20%5B15%3A0%5D%20are%20not%20locked%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_UnlockRegister%7D%3B%0A%20%20%20%20%2F*%20PORTA17%20(pin%2012)%20is%20configured%20as%20LPUART0_TX%20*%2F%0A%20%20%20%20PORT_SetPinConfig(PORTA%2C%2017U%2C%20%26amp%3Bporta17_pin12_config)%3B%0A%0A%20%20%20%20const%20port_pin_config_t%20portc2_pin39_config%20%3D%20%7B%2F*%20Internal%20pull-up%2Fdown%20resistor%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PullDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20internal%20pull%20resistor%20value%20is%20selected.%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowPullResistor%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Fast%20slew%20rate%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_FastSlewRate%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Passive%20input%20filter%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PassiveFilterDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Open%20drain%20output%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_OpenDrainDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Normal%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_NormalDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20is%20configured%20as%20CAN1_RX%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_MuxAlt11%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Does%20not%20invert%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_InputNormal%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20Control%20Register%20fields%20%5B15%3A0%5D%20are%20not%20locked%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_UnlockRegister%7D%3B%0A%20%20%20%20%2F*%20PORTC2%20(pin%2039)%20is%20configured%20as%20CAN1_RX%20*%2F%0A%20%20%20%20PORT_SetPinConfig(PORTC%2C%202U%2C%20%26amp%3Bportc2_pin39_config)%3B%0A%0A%20%20%20%20const%20port_pin_config_t%20portc3_pin40_config%20%3D%20%7B%2F*%20Internal%20pull-up%2Fdown%20resistor%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PullDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20internal%20pull%20resistor%20value%20is%20selected.%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowPullResistor%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Fast%20slew%20rate%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_FastSlewRate%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Passive%20input%20filter%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_PassiveFilterDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Open%20drain%20output%20is%20disabled%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_OpenDrainDisable%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Low%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_LowDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Normal%20drive%20strength%20is%20configured%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_NormalDriveStrength%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20is%20configured%20as%20CAN1_TX%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_MuxAlt11%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Does%20not%20invert%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_InputNormal%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20Pin%20Control%20Register%20fields%20%5B15%3A0%5D%20are%20not%20locked%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(uint16_t)kPORT_UnlockRegister%7D%3B%0A%20%20%20%20%2F*%20PORTC3%20(pin%2043)%20is%20configured%20as%20CAN1_TX%20*%2F%0A%20%20%20%20PORT_SetPinConfig(PORTC%2C%203U%2C%20%26amp%3Bportc3_pin40_config)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3E%3CSTRONG%3ERun%20your%20demo%20application%3C%2FSTRONG%3E%3C%2FP%3E%0A%3COL%3E%0A%3CLI%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EConnect%20a%20USB%20cable%20between%20the%20host%20PC%20and%20the%20KW47-EVK%20board%20J14.%3C%2FLI%3E%0A%3CLI%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EOpen%20a%20serial%20terminal%20on%20PC%20for%20each%20board%20with%20the%20following%20settings%3A%0A%3CUL%3E%0A%3CLI%3E115200%20baud%20rate%3C%2FLI%3E%0A%3CLI%3E8%20data%20bits%3C%2FLI%3E%0A%3CLI%3ENo%20parity%3C%2FLI%3E%0A%3CLI%3EOne%20stop%20bit%3C%2FLI%3E%0A%3CLI%3ENo%20flow%20control%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EDownload%20the%20program%20to%20the%20target%20board%3C%2FLI%3E%0A%3CLI%20class%3D%22lia-align-justify%22%20style%3D%22text-align%20%3A%20justify%3B%22%20style%3D%22text-align%20%3A%20justify%3B%22%3EEither%20press%20the%20reset%20button%20on%20your%20board%20or%20launch%20the%20debugger%20in%20your%20IDE%20to%20begin%20running%20the%20demo.%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3C%2FLINGO-BODY%3E
No ratings
Version history
Last update:
‎02-03-2026 11:39 AM
Updated by: