
Tout = ((Counter Period+1)*(Prescaler +1)) / Tclk ; 其中: Tclk:定时器的输入时钟频率,如108MHz==108000000$ p' c3 o; c. b A - h' O! y$ I: r8 z+ p7 z Tout:定时器溢出时间,如1s. }: A3 z& x8 |) M( L& ~/ e ' z5 L# W0 z3 j4 [( b8 n* M4 ? 则Counter Period可以为10000 - 1,Prescaler可以为10800 - 1 . X& F5 H' X5 V K5 W9 \0 |0 [ 则最终TIM3的定时器频率为10000Hz,一个脉冲的时间为1/10000s,则若要定时1s,则自动重载寄存器设置为10000-1(如要定时0.2s,则自动重装寄存器设置为0.2/(1/10000)-1.即2000-1)。 0 ?3 x9 h' c- h* e+ L" E 利用CubeMX配置时首先确认TIM3是挂载在哪条总线上,查找STM32F7的参考手册,可以看到是挂载到APB1上$ f' Q! e* C! B r8 H5 V3 u0 L1 U7 G4 I4 D ![]() ) ] m" b7 g+ p# h' z 在Pinout选项卡中,选择TIM3,Clock Source选择Internal Clock, ?6 k2 ]2 l% d# d( H' ^/ ^2 m1 A ![]() 5 r1 }# o, d. Q& k; j 切换到Clock Configuration选项卡,PLL Source Mux中选择HSI,System Clock Mux中选择PLLCLK,此时HCLK显示最大为216MHz,输入216后,其他的系数会自动分配3 ?: a: l7 s6 [+ O* F. ^: u9 @ ; Q+ ?: h3 z; l5 j; o ![]() 切换到Configuration选项卡,在Control中会出现TIM3,点击TIM3后,在Parameter Settings选项卡中填入Prescaler和Counter Period,比如108MHz为定时器TIM3输入时钟频率,若定时时间为1s,则Counter Period可以设置为10000-1,而Prescaler可以设置为10800-1。! o6 ]. O. N& Q( ]& p ![]() 9 l( f- n0 k1 z8 t, n1 _/ I 然后不要忘记使能定时器中断,可以在TIM3的NVIC Settings选项卡中使能,也可以在NVIC中使能 ![]() ( h# A/ Y# \$ c2 i5 _. b ![]() - O# i7 l3 s* b9 O$ G8 ]6 H ! U4 C+ w0 ^' d7 L. Z |
【STM32F769I-DISC1】开发板刷入Micropython并完成点灯、读取内部温度测试
【STM32F769I-DISC1】测评01:创建STM32cube IDE 工程,点个灯
【STM32F769】创建deepseek本地服务,并实现http请求
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
coremark移植到STM32F769I-DISCO开发板的两种方法
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
刘氓兔的杂谈【001】-片上USB 高速PHY
【合集】STM32F7教程、资料大集合
基于STM32F746G-Discover的扩展电路板
F769 Discovery实现播放U盘音乐的播放器