S32K344 LIN总线通信应用程序演示Lpuart Ip和Flexio Ip驱动程序的使用。这是一个简单的应用程序,它显示了S32K344在S32DS3.4 IDE上Lpuart Ip和Flexio Ip的Lin Master和Lin Slave之间的通信。对Lpuart_Ip执行Autobaud自动波特率功能。本例中,一个完整的LIN帧(标头+响应)从主机发送,并由从机接收。
LIN总线使用LIN0和LIN1端子的引脚定义如下:
Lin_SendFrame发送函数执行后,LIN线上的波形。
在环回模式下工作的基于MCAL的LIN代码和程序。请考虑以下事项:
1.本项目将LPUART_5配置为主节点Master,将LPUART_7配置为从节点Slave。
2.LIN以9600 bps的速度运行,ID=0x1A。
3.用户可以通过状态变量CheckData检查数据的正确接收。
4.硬件图端子LIN_2和LIN_3连接,如下图所示。
此外,在调试代码时,可以看到Rx和Tx状态变量是正确的,并且RecvBuffer也已满。
根据LIN模块的Autosar规范,LinIf_RxIndication仅用于从节点:
LIN主节点设置如下:
LIN从节点设置如下:
PTD0和PTD1引脚对应的是LIN主节点。PTE0和PTE1引脚对应的是LIN从节点。
extern void LPUART5_LIN_IP_RxTx_IRQHandler(void);
extern void LPUART7_LIN_IP_RxTx_IRQHandler(void);