Hi,
the way to send break is described in chapter 53.4.3.1 Send break and queued idle of the device RM.
The code to send LIN header could be
void LIN_SendHeader(uint8_t PID)
{
while((LPUART0->STAT & LPUART_STAT_TDRE_MASK) == 0); /* Wait until Transmit data buffer become empty */
LPUART0->CTRL |= LPUART_CTRL_SBK_MASK; /* SBK=1: Queue break character(s) to be sent */
LPUART0->CTRL &= ~LPUART_CTRL_SBK_MASK; /* SBK=0: Normal transmitter operation */
while((LPUART0->STAT & LPUART_STAT_TDRE_MASK) == 0); /* Wait until Transmit data buffer become empty */
LPUART0->DATA = 0x55; /* Transmit Sync Byte */
while((LPUART0->STAT & LPUART_STAT_TDRE_MASK) == 0); /* Wait until Transmit data buffer become empty */
LPUART0->DATA = PID; /* transmit PID */
while((LPUART0->STAT & LPUART_STAT_TC_MASK) == 0); /* transmission activity complete */
}If interesting in SDK code then you can refer to lin_master_baremetal demo included in the S32Design Studio, which shows the usage of the LIN driver in master mode.
BR, Petr