Hi Amit,
Please find the code which is implemented before calling stop(); functionality.
And I am expecting interrupt and waiting in ISR.
Please check this and let me know anything else I have to initialize.
void lin_lld_uart_sleep(uart_channel_name channel, l_ifc_handle iii)
{
lin_node *lnode_p;
lnode_p = (lin_node *)&lin_node_descrs[channel];
tUART* _pUART;
pUART = (tUART*)(lnodep->pUART);
lnode_p->state=SLEEP_MODE;
/* checks before going for Controller Stop mode*/
while ((!(_pUART->uartsr1.byte & UART_S1_TDRE_MASK))||
(!(_pUART->uartsr1.byte & UART_S1_TC_MASK))||
((_pUART->uartsr2.byte & UART_S2_RAF_MASK))) ;
/* Clear flag */
_pUART->uartsr2.bit.rxedgif = 1;
pUART->uartbdh.byte |= UARTBDHRXEDGIE_MASK;
/* clear LIN Break Detection flag */
pUART->uartsr2.byte |= (UARTSR2LBKDIF_MASK | UARTSR2_BRK13_MASK | UARTSR2_LBKDE_MASK);
pUART->uartcr2.byte |= UARTCR2RWU_MASK;
lin_wakeupflag = 0;
}
Regards
Ajith