stm32移植freemodbus

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、设置串口中断优先级大于定时器中断

相关推荐
zero自由如风15 分钟前
STM32裸机开发(中断,轮询,状态机)与freeRTOS
stm32·单片机·嵌入式硬件
程序员JerrySUN5 小时前
Linux 文件系统实现层详解:原理、结构与驱动衔接
android·linux·运维·数据库·redis·嵌入式硬件
天天爱吃肉82185 小时前
效率提升新范式:基于数字孪生的汽车标定技术革命
python·嵌入式硬件·汽车
jacklood8 小时前
基于STM32与中航ZH-E3L字符卡通信在LED屏显示数据
stm32·单片机·嵌入式硬件
wind_one18 小时前
STM32小实验三--让蜂鸣器响起来
stm32·单片机·嵌入式硬件
小憩-8 小时前
【stm32】新建工程
stm32·单片机·嵌入式硬件
wind_one19 小时前
STM32小实验二--流水灯
stm32·单片机·嵌入式硬件
小严家9 小时前
《硬件产品经理》第七章:产品开发流程之验证
嵌入式硬件·产品经理·智能硬件
拼好饭玩家10 小时前
定时器更新中断与串口中断
单片机·嵌入式硬件
LoserChaser12 小时前
STM32新建工程
stm32·单片机·嵌入式硬件