野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6669|回复: 3

关于STM32定时器中断2S,4S,8S的疑问

[复制链接]
发表于 2016-11-29 16:38:58 | 显示全部楼层 |阅读模式
定时器的定时时间等于计数器的中断周期乘以中断的次数。计数器在 CK_CNT 的驱动下,计一个数的时间则是 CK_CLK 的倒数,等于:1/(TIMxCLK/(PSC+1)),产生一次中断的时间则等于:1/(CK_CLK * ARR)。如果在中断服务程序里面设置一个变量 time,用来记录中断的次数,那么就可以计算出我们需要的定时时间等于:1/(CK_CLK * ARR)*time。我们把定时器设置自动重装载寄存器 ARR 的值为 1000,设置时钟预分频器为 71,则驱动计数器的时钟:CK_CNT = CK_INT / (71+1)=1M,则计数器计数一次的时间等于:1/CK_CNT=1us,当计数器计数到 ARR 的值 1000 时,产生一次中断,则中断一次的时间为:1/CK_CNT*ARR=1ms  
time ==1000 =====》1000 * 1ms = 1s 同样如果:time == 2000   
[size=14.6667px]time == 4000   [size=14.6667px]time == 8000   就是对应为定时2s,4s,8s呢,望解答一下,3Q!!


回复

使用道具 举报

 楼主| 发表于 2016-11-29 16:41:57 | 显示全部楼层
该帖子发错位置了,抱歉
回复 支持 反对

使用道具 举报

发表于 2016-11-29 18:02:51 | 显示全部楼层
是啊,直接在ms的基础上乘就可以啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-30 17:14:56 | 显示全部楼层
随风 发表于 2016-11-29 18:02
是啊,直接在ms的基础上乘就可以啦

好的,谢谢!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-28 18:17 , Processed in 0.028943 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表