你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CuBeMX(HAL库)实现定时器中断(STM32F407ZGT6)

[复制链接]
攻城狮Melo 发布时间:2022-11-9 14:54
STM32基本定时器具有以下功能:
16位向上、向下、向上/下自动装载计数器。

16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值。

定时触发ADC或者DAC以达到固定频率采用或者还原的目的(部分基本定时器具有此功能)。

STM32通用定时器具有以下功能:


16位向上、向下、向上/下自动装载计数器。

16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值。

4 个独立通道(TIMx_CH1~4)可以用作:
测量输入信号的脉冲长度( 输入捕获)。
输出比较。
单脉冲模式输出。
PWM输出(边缘或中间对齐模式)。

支持针对定位的增量(正交)编码器和霍尔传感器电路。

如下事件发生时产生中断/DMA:
更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内 部/外部触发)
触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
输入捕获
输出比较

STM32高级定时器具有以下功能:
还具有控制交直流电动机所有的功能。

输出6路互补带死区的信号,刹车功能等等。

还具有一般定时器的功能。


时钟树配置:

13cd2092350e4e01ae0babcfa4c96704.png

配置GPIO:

7419852b2189468a95f479243560bad4.png

PE3和PE4是两个LED灯。

配置定时器:

60145361d4d44487be40c9ffdd8917e6.png

点点鼠标CuBe就会自己配置相应参数,这是CuBe的强大的地方,节省很多时间!

7303804503f247da941f1b507cfd52e3.png

其中参数含义分别为:
Prescaler 分频系数
Counter Mode 计数模式(分为向上和向下)
Count Period 计数周期
auto-reload preload 自动重装载
TRGO Event Selection 触发事件
ac722732fd054eafbb2ad77cba64f47f.png

其中时间溢出公式为:

其他参数无须修改,用到再查资料。

d5607da88c6b4430ae8669caef01bfd4.png


CuBe的配置就这样完成了,接下来进入MDK了。

首先是启动驱动器:

这个过程想要手动启动定时器,系统才能进入定时器中断(这个放在main函数开头的地方)

  1. HAL_TIM_Base_Start_IT(&htim6);
复制代码

注意,如果使用HAL_TIM_Base_Start(&htim6);函数打开定时器,则定时器会启动,但不会进入定时器中断。

主函数中就不需要再编写其他的代码了。

然后我们来到stm32f4××_it.c文件,找到TIM6中断,在里面添加自己的代码即可。我这里就只添加了这个:

db5a88623f22487fb8a8f40ff1033a0a.png

  1.   HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_3);
复制代码

然后我代码的效果就是PE3每隔500ms翻转一次,PE4保持常亮。大家记得还要配置debug里面的东西,之后就是编译、下载程序了。具体参考下面:

0cc9804b4a1d490c8b389092214c77e3.png

9569cbb7f1894e7d83bf8d15d39425d6.png

————————————————
版权声明:不会创建对象


收藏 评论0 发布时间:2022-11-9 14:54

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版