1、设置串口
开启串口中断
2、设置定时器
已知在freemodbus中默认定义:当波特率大于19200时,判断一帧数据超时时间固定为1750us,当波特率小于19200时,超时时间为3.5个字符时间。这里移植的是115200,所以一帧数据超时时间为1750us
这里采用TIM2,TIM2挂载在ABP1上,主频为72MHz。我们此处取预分频系数72-1,可以得到对应的分频频率为1MHz,即0.000001s=0.001ms=1us,自动重载值设置为1750,得到超时时间1750us
开启定时器的中断
3、设置串口中断优先级大于定时器中断