分享一些LIN的知识,我一开始是写的寄存器版本的从机通讯,但一直调试不通,出现了以下问题:
1.在不开启中断的情况下,能发送数据,但开了中断就无法发送。
2.一直无法检测到LIN断开符,即同步间隔段。
后来通过查手册发现了问题所在,就改用了固件库函数版本,至于问题是什么,后面会提,先介绍一下STM8串口的LIN模式。
相对于STM32,STM8在LIN通讯方面更有优势,因为STM8对LIN做了更详细的设计,通过寄存器可以更方便快捷地进行LIN通讯。STM8的LIN通讯可以配置主从模式,有自动重同步功能,在每次接收到LIN同步域后自动调整波特率发生器,还能LIN标识符奇偶校验自动检测等等。
目录
1. 主模式
UART初始化:
1. 设置UART_BRR2和UART_BRR1来选择期望的波特率。
2. 将UART_CR3的LINEN位置1来使能LIN模式。
3. 将UART_CR2的TEN位和REN位置1来使能发送器和接收器。
2. 自动重同步功能禁用的从模式
UART初始化ÿ