本帖最后由 RunningX 于 2021-6-17 14:05 编辑
7801芯片没有硬件LIN外设,但是UART0跟UART1都可以配置成LIN模式。相对于硬件LIN,软件LIN的处理会稍微多一点。
这里写了一个LIN master模式下的简易程序。(虽说相对简易,但因为需要软件处理的步骤比较多,所以还是比7811的硬件LIN模块使用起来复杂)
程序的逻辑如下:
1.初始化UART的LIN功能;
2.每隔100ms循环发主机的LIN帧头(主机ID:0x05)跟从机的LIN帧头(从机ID:0x03)。
3.在UART中断里面,先根据break场中断确定帧开头,再根据ID确定是主机的还是从机的,如果是主机ID,则主机发送主机数据,并校验回读的数据是否正确,正确才继续发送下一个数据;如果是从机的ID,则主机接收从机数据。
以下为主机发送的波形图:
以下为主机接收从机数据波形图:
附上软件工程:
7801的软件LIN_master简化程序.rar
(784.12 KB)
|