Initialize the driver

Informative

How to bring the LIN driver up and down. Binding rules: CHI-LIN-MUST-02 and CHI-LIN-MUST-14 in Lin — Requirements; signatures in API Reference.

Prerequisites

Before Lin_Init, another module must have configured the channel’s input clock, port pins, and interrupt controller. The LIN driver assumes these are ready (see Overview).

Bring the driver up

Lin_Init(NULL_PTR);          /* driver: UNINIT -> INIT; every channel -> SLEEP */

configPtr must be NULL_PTR — configuration variants are selected at build time, not passed at runtime. After Lin_Init returns, the driver is in LIN_DRV_STATE_INIT and each channel is in SLEEP. Interrupts are enabled only for channels configured as Interrupt.

Shut down

Lin_DeInit();                /* aborts ongoing TX/RX, de-inits the hardware; driver -> UNINIT */

Lin_DeInit aborts any ongoing transmission or reception and returns the driver to LIN_DRV_STATE_UNINIT.

See also

Wakeup and sleep — moving a channel between SLEEP and OPERATIONAL after init.