注意!!!注意!!!这是GD32从机通讯!!!GD32!!!GD32!!!
这是STM32的详细版,链接:STM32F103 – LIN从机通讯 – 程序代码 – 详细讲解版(2万字长文)http://t.csdnimg.cn/E5Fgh 。精简版少了串口环形缓冲区以及错误判断等内容,足以应对一般的应用场景,代码也更通俗易懂。
但建议先看详细版,详细版主要代码分为3个文件,usart文件是对GPIO端口和串口Lin模式的初始化,lin_buffer文件是对串口环形缓冲区的编写,lin_driver文件是Lin从机模式驱动代码,详细版讲解了我们如何进行收发,如何编写代码。GD32精简版不多讲解,只挑一些讲解,因为原理是一样的。
一.lin 文件
lin.c 文件代码
#include "lin.h"
//LIN初始化
void LIN_Init(uint32_t bound)
{
/* enable GPIO clock 使能串口0引脚IO时钟 */
rcu_periph_clock_enable(RCU_GPIOA);
/* enable USART clock */
rcu_periph_clock_enable(RCU_USART0);
/* connect port to USARTx_Tx */
gpio_init(GPIOA, GPIO_MOD