请选择 进入手机版 | 继续访问电脑版

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

【经验分享】STM32F7学习笔记(五)-定时器中断

[复制链接]
STMCU小助手 发布时间:2022-7-2 16:00
一、打开cubemx
. U7 p# [% f/ C$ j: v$ [% [3 a1 R2 C5 v5 e: r( v$ [7 v( G
! Z* r6 H3 g0 u6 ~4 s/ Q
二、配置定时器
+ N7 K$ L: V  l" s  W- _% Z / E' }3 r& K0 h) g
& f" C! U/ Z# \/ M
选择TIM3,修改时钟源为内部时钟,配置分频因子PSC为10800-1,计数方式为UP向上计数,自动重装载值为5000-1,因为TIM3是挂在APB1上,APB1的时钟速度为108M,所以中断时间为108000000/(10800*5000)=500ms
+ P: i, X# J. Y; \3 }# R, |! w5 ?+ D) i& M( m# g
三、开启中断,配置中断优先级5 h. v" ?: K$ @( Y

% B: _7 {+ b1 ` A5H6)`}B~[M8C9BR%Q0G8.png ) R" ]  G8 h; g* Q
1 Y% e3 O5 F8 V5 T, W: x
四、生成代码. I6 k6 m3 z2 _) R3 R
在主函数里添加函数HAL_TIM_Base_Start_IT(&htim3);没开始定时器计数
8 h. E$ J. t. u0 y7 O! ~2 A4 P) K5 _" b) h

0 A& o9 B1 J6 W8 K8 n 6]VD9$FPRGP~}IT(MD}MPB9.png 7 ?4 e! W4 x# T* S! i

+ t7 ^8 u7 w2 I在tim.c中添加中断回调函数
3 n4 a; u! \) n. f. v) l
5 |: z5 {* T# p! {" g$ [: G3 q
  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    * \) w, [8 n0 U- a0 w0 F
  2. {; {+ K  h( F8 ]  m8 J' T. F- r
  3.     if(htim->Instance == TIM3)
    % D# U& X4 J3 Z1 j: ^
  4.     {" c0 V, P5 a) C8 U) r2 d3 y
  5.         HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
    ; g1 I1 m( w* c  U0 Y" P9 Y
  6.         HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
    7 }( A  K: h  q: V$ f" J/ y
  7.     }
    5 e2 h) n* ?4 l) w9 n1 w1 V( `* B1 c
  8. }
复制代码
/ @, M) m+ E9 P9 q
$ c& |+ x# K: O: q& k

0 o& b8 e* Z( s; [; m( c$ m( L
$ m* r6 Z% n' h- ^: [% a- Y
收藏 评论0 发布时间:2022-7-2 16:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版