TIMER1 ,TI,ER3,TIMER4,32KHz XOSC,DEBUG 这些外设分别是啥功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TIMER1 ,TI,ER3,TIMER4,32KHz XOSC,DEBUG 这些外设分别是啥功能?相关的知识,希望对你有一定的参考价值。

参考技术A 计时器用于计时。
其中TIM1和TIM8是能够产生3对PWM互补输出的高级登时其,常用于三相电机的驱动,时钟由APB2的输出产生。TIM2-TIM5是普通定时器,TIM6和TIM7是基本定时器,其时钟由APB1输出产生。由于STM32的TIMER功能太复杂了,所以只能一点一点的学习。因此今天就从最简单的开始学习起,也就是TIM2-TIM5普通定时器的定时功能。
TIM2-TIM5的时钟不是直接来自于APB1,而是来自于输入为APB1的一个倍频器。这个倍频器的作用是:当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系数为其他数值时(即预分频系数为2、4、8或16),这个倍频器起作用,定时器的时钟频率等于APB1的频率的2倍。APB1的分频在STM32_SYSTICK的学习笔记中有详细描述。通过倍频器给定时器时钟的好处是:APB1不但要给TIM2-TIM5提供时钟,还要为其他的外设提供时钟;设置这个倍频器可以保证在其他外设使用较低时钟频率时,TIM2-TIM5仍然可以得到较高的时钟频率。

Python3.x:简单时间调度Timer(间隔时间执行)

Python3.x:简单时间调度Timer(间隔时间执行)

代码:

import threading
import time

def fun_timer():
    print(hello timer)
    global timer
    #重复构造定时器
    timer = threading.Timer(5.8,fun_timer)
    timer.start()
#定时调度
timer = threading.Timer(2,fun_timer)
timer.start()


# 50秒后停止定时器
time.sleep(50)
timer.cancel()

说明:

(1).threading.Timer()主要有2个参数:第一个参数为时间,第二个参数为函数名;

(2).必须在定时器执行函数内部重复构造定时器,因为定时器构造后只执行1次,必须循环调用;

(3).定时器间隔单位是秒,可以是浮点数,如5.5,0.02等,例中第一次执行fun_timer是2秒后,后面的都是5.8秒后执行。

(4).使用cancel停止定时器的工作;

 

以上是关于TIMER1 ,TI,ER3,TIMER4,32KHz XOSC,DEBUG 这些外设分别是啥功能?的主要内容,如果未能解决你的问题,请参考以下文章

java定时器的使用

Arduino timer4 自定义 PWM 问题

stm32 如何产生秒脉冲中断

主从配置中的 STM32 奇数 timer1 行为 - mb 代码问题

java当中的定时器的4种使用方式

CMT2380F32模块开发10-高级定时器例程