一、环境准备
电脑系统:Windows 10 专业版 20H2
IDE:Keil v5.35、STM32CubeMX v6.5.0
测试硬件:正点原子阿波罗STM32H743
二、测试步骤
1、确认定时器时钟源
查看数据手册,最好官网查找最新版
DS12110_STM32H743xI单片机数据手册 | STMCU中文官网
DS12110_STM32H743xI单片机数据手册Rev 10.pdf (访问密码: 1666)
注意:
下图示为旧版本,注意检查查阅的资料
2、确认产品版本
STM32H743IIT6存在两个修订版,支持的最大时钟频率不同。(可能就是早期支持400MHz,与后期支持480MHz的区别吧)
通过芯片丝印可以看到图示“V”,即修改版为V系列。
3、配置定时器TIM3
3.1 查看TIM3挂载的总线时钟
通过步骤1,可知,TIM3挂载在APB1,APB1最大支持120MHz
3.2 确认挂载在APB1上的TIM3的时钟源频率
由CubeMX配置可知,APB1_TIM时钟源频率为240MHz
3.3 配置TIM3
时钟源为:Internal Clock
图示定时器输出频率为:240MHz / (23+1) / (99+1) = 100KHz
3.4 配置中断
4、生成代码
略...
5、修改工程代码
5.1 打开定时器
CubeMX生成的工程中,默认不会打开定时器,需要添加代码,主动打开。
HAL_TIM_Base_Start_IT(&htim3);
5.2 加载回调函数
在划分的用户代码区域添加代码。
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
6、编译下载验证
三、运行效果
间隔1个多小时后,截图时秒数保持一致,基本可以说明定时器计时准确。
四、工程资料下载
1-Tim3.rar (访问密码: 1666)https://url48.ctfile.com/f/33868548-1250061332-d6bf97?p=1666