stm32定时器时间计算

stm32定时器时间计算,第1张

  STM32定时器的工作原理

  STM32之所以能够实现定时,是单片机内部在计数脉冲(来自晶振

  T=1/F (F为频率)

  例如:我们以51单片机举例,假设单片机搭配12MHz的晶振,由于51单片机是12分频(即1个机器周期有12个时钟周期),则单片机的最小定时时间为

  1 2 MHz / 2 = 1 MHz

  Tt = 1 / 1 MHz = 1 us

  最小定时时间T=1/1MHz=1us

  51单片机定时器:

  方式0 13位最大定时时间间隔2^13=8.192ms

  方式1 16位最大定时时间间隔2^16=65.536ms

  方式2 8位最大定时时间间隔2^8=256us

  由此我们知道对于一个定时器而言要做到精确定时需要关注2个内容

  1、分频器(分频比)

  2、定时计数器的值

  STM32定时器的时钟

  CK_CNT表示定时器工作频率

  TIMX_PSC表示分频系数

  则定时器的工作频率计算公式为

  CK_CNT=定时器时钟/( TIMx_PSC+1)

  由此我们可得到STM32单片机1个时钟周期

  为:T=1/ CK_CNT

  例如普通定时器模块的时钟为72MH2,分频比位7199,那么我们想要得到一个1秒钟的定时,定时计数器的值需要设定为 》 TImx arr = 1 0 0 0 0

  因为72000000/7200=10KHz时钟周期T=1/10KHz=100us100us×10000=1S

  结论:分频比7199定时计数器的值10000

  注意两点:

  (1)TIMx(1-8),在库设置默认的情况下,都是72M的时钟;

  (2)TIM_TimeBaseStructure.TIM_RepetitionCounter=0;

  是重复计数,就是重复溢出多少次才给你来一个溢出中断,

  它对应的寄存器叫TIM1 RCR.

  如果这个值不配置,上电的时候寄存器值可能随机的,本来1秒中断一次,可能变成N 秒中断一次,让计算量变大。

  stm32定时器时间计算

  系统时钟是72Mhz,TIM1 是由PCLK2 (72MHz)得到,TIM2-7是由 PCLK1 得到

  关键是设定 时钟预分频数,自动重装载寄存器周期的值

  /*每1秒发生一次更新事件(进入中断服务程序)。RCC_Configuration()的SystemInit()的

  RCC-》CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2表明TIM3CLK为72MHz。因此,每次进入中

  断服务程序间隔时间为

  ((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒 */

  定时器的基本设置

  1、 TIM_TimeBaseStructure.TIM_Prescaler = 7199;//时钟预分频数 例如 :时钟频率=72/(时钟预分频+1)

  2、TIM_TimeBaseStructure.TIM_Period = 9999; // 自动重装载寄存器周期的值(定时时间) 累计 0xFFFF个频率后产生个更新或者中断(也是说定时时间到)

  3、 TIM_TimeBaseStructure.TIM_CounterMode = TIM1_CounterMode_Up; //定时器模式 向上计数

  4、 TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; //时间分割值

  5、 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);//初始化定时器2

  6、 TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //打开中断 溢出中断

  7、 TIM_Cmd(TIM2, ENABLE);//打开定时器

  或者:

  TIM_TimeBaseStructure.TIM_Prescaler = 35999;//分频35999 72M/

  (35999+1)/2=1Hz 1秒中断溢出一次

  TIM_TimeBaseStructure.TIM_Period = 2000; //计数值2000

  ((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+35999)/72M)*(1+2000)=1秒 */

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/dianzi/2717002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-08-17
下一篇2022-08-17

随机推荐

  • 温庭筠的诗有哪些

    唐代诗人温庭筠的诗工整精练,清婉精丽,尤为擅长乐府诗和近体律绝。其中,乐府诗的代表作《侠客行》,是温庭筠借乐府古题创作的一首诗,以此赞扬仗剑天下的侠客精神。而近体诗方面,温庭筠成就最高的是七律,其次是

    2022-12-06
    000
  • 项羽为什么自刎

    项羽自刎是因为羞愧。项羽被刘邦打败后,虽然带着残兵败将突出重围,但是失败让项羽感觉到非常的羞辱,没有脸面去见江东父老,于是选择在乌江自刎一死了之。项羽的出身是很高贵的,他的家族地位非常高,先辈世世代代

    2022-12-06
    100
  • 章邯怎么死的

     历史上的章邯是拔剑自杀而死的,因为秦朝的灭亡,章邯投奔了项羽,但是在楚汉战争中,和刘邦的军队战斗的时候经常失败,没有办法之下退到了废丘,之后被韩信给骗了,导致废丘失守,为了谢罪,章邯选择自杀。章邯是

    2022-12-06
    000
  • 平安夜是怎么来的

    传说耶稣诞生的那一晚,在旷野看守羊群的牧羊人,突然听见天上传来了声音,告诉他们耶稣降生的消息,在《圣经》中也记载了,耶稣来到人间是为了拯救世人的。因此天使便透过这些牧羊人把消息传给更多的人,后来人们就

  • 心有灵犀一点通什么意思

     “心有灵犀一点通”比喻男女双方心心相印,现在多用来形容彼此的心思都能心领神会。唐代诗人李商隐的《无题》中有一句:“身无彩凤双飞翼,心有灵犀一点通”,是说我们两人身上虽然没有像彩凤一样可以比翼双飞的翅

    2022-12-06
    000
  • 二战曼不群、古不帅、莫不攻、隆不在、戈不灵分别指谁

    第二次世界大战是人类历史上规模最大的一次战争,涉及人数高达20亿人,伤亡人数超过2亿。这场持续了6年的战事给全球人民带来了无限警示,告诉我们和平的珍贵,不要轻易发动战争。不过在战争期间,各个国家都涌现

    2022-12-06
    000
  • 刘秀的母亲是仕女吗

    刘秀的母亲不是仕女。刘秀的母亲樊娴都,历史记载没有记录其入宫当宫女。在后汉纪离记载,其父樊重性情温和厚道,做事情很讲究法度。他们樊家三代没有分过家,财物一直共有,但子孙都相互礼敬,家里常常像官府一样讲

  • 红茶的保质期是多久

    红茶的保质期与存放环境有非常大的关系,一般茶叶的保质期都以18个月为限,产品包装袋上也会标注出保存注意事项,可以有效延长茶叶的保质期限。存放时间久的红茶与当年的新茶唯一的不同就是味道口感的差异,不会对

  • MAT考试笔试还是机考

    2019年管理会计师(初级)考试方式 2019管理会计师(初级)全部实行闭卷机考。即,在计算机终端获取试题、作答并提交答题结果。 2019管理会计师(初级)考试方式与题型介绍: 考试日期考试时间考试

    2022-12-06
    000

发表评论

登录后才能评论

评论列表(0条)

    保存