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

【经验分享】STM32CubeMX—定时器中断实验

[复制链接]
STMCU小助手 发布时间:2022-5-15 16:30
定时器中断实验
一、实验说明

    平台:STM32F103RCT6
    本实验为定时器中断实验,使用STM32cube max 配置TIM3定时中断。
    注:实验中使用了串口,所以可以沿用上一个串口中断实验的配置。
二、实验操作
1、STM32系统基础配置。
详见上一个实验的步骤1 – 4。

2、配置好串口1。
详见上一个实验。

3、配置定时器

DVZKX][EVOJXJT~MDEVAQTQ.png

             如上图选择定时器3,出现如下界面:

C$@(M_LC9`3G1{REM{9D3{J.png

            然后配置具体参数:
           上一步选择后就会出现这个界面,配置好分频值,计数装载值,注意,第三个箭头那里要使能(ENABLE)自动重新装置值。

L~26H)QXF$K5GUW[OH542QJ.png


时间的计算

2019071515214119.png

                     这里 Tout = (5000*7200)/72MHZ = 0.5秒,所以0.5秒进一次中断。
4、定时器中断配置

YVU@)GS{LF)6R{2[VK_K3%I.png

5、然后生成代码
6、工程中添加代码
               首先要明确我们使用的是定时器的定时中断,也就是更新中断,所以要找对回调函数。

                void TIM3_IRQHandler(void)  在stm32f1xx_it.c中

                HAL_TIM_IRQHandler(&htim3);

                HAL_TIM_PeriodElapsedCallback(htim);

                __weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)   
这就是这几个函数的跳转顺序,最后一个就是更新中断的回调函数,把它 复制到TIM.c中,如下图

`ROH295X@[AFK60`BCI3)M4.png

7、开启中断
                HAL_TIM_Base_Start_IT(&TIM3_Handler);

8、测试,在中断中写句输出测试一下(实际开发,不会这样干的。)

OSK5@A[BRQ8)%5IF2Y@WR9O.png

因为要输出检查下串口。
下载程序,测试:
结果如下,0.5秒输出一次。

J68@YXTF6~PG$ZH@V$VF~`K.png



收藏 评论0 发布时间:2022-5-15 16:30

举报

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