TIM定时中断和PWM驱动呼吸灯

TIM定时中断和PWM驱动呼吸灯

注:本人使用的是标准库

一、使用TIM2实现5s定时向串口输出“hello world!”,以及2s演示LED灯
1、中断原理

首先选择时钟,可以选择内部时钟和外部时钟,内部时钟由内部RCC提供,外部需外接硬件设备通过引脚触发计时;

主要定时模块是时基单元,预分频器(PSC)与自动重装器(ARR)主要作用是确定实际计时时长,如当选择内部时钟时,内部时钟频率是72MHz,若设置7200的分频则会得到10k的计数频率,在10k的计数频率下若设置10000

的自动重装,则相当于在10k的频率下(即周期为1/10000)计10000个数就等价于计时1s。而计数器(CNT)的作用时确定计数上限,到达计数器值时产生更新中断,进入中断输出控制,再通过NVIC进行中断优先级选择,最后再到cpu进行处理。
在这里插入图片描述

(注:图片取自bilibili up主:江科大自化协)

2、代码实现

根据原理图将各个部分配置好即可

1)时钟配置

首先得开始TIM2的时钟,以开启TIM2

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//注意TIM2在APB1总线下

其次选择时钟源,仅需实现定时功能,这里选择内部时钟即可

TIM_InternalClockConfig(TIM2);//开启TIM2的内部时钟,若不写此语句也可,因为定时器上电后默认使用内部时钟
2)配置时基单元,即初始化TIM2
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;//定义时基单元结构体来配置各个参数
	TIM_TimeBaseInitStructure.TIM_Cloc
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tim基本定时中断是指通过TIM定时器)模块来实现定时中断功能。TIM是嵌入式系统中常用的一个外设,它可以配置成不同的工作模式,包括定时器模式、输入捕获模式和PWM输出模式等。在定时器模式中,我们可以设置一个特定的时间间隔,当定时器的计数值达到或超过设定值时,会产生中断信号,从而触发相应的中断服务程序。通过这种方式,我们可以在定时中断中执行一些需要定时执行的任务,例如周期性地更新某个变量或执行某个功能。 PWM(脉冲宽度调制)驱动模块是指通过TIM模块产生PWM信号来驱动外部设备的模块。PWM信号是一种特殊的方波信号,它的占空比可以调整。通过改变PWM信号的占空比,我们可以控制外部设备的输出功率或位置。例如,我们可以通过控制舵机的PWM信号占空比来控制舵机的转动角度。在使用TIM模块的PWM功能时,我们需要配置TIM的工作模式为PWM输出模式,并设置相应的参数,如频率、占空比等。然后,TIM模块会自动产生指定参数的PWM信号,我们将该信号输出到外部设备即可实现相应的驱动功能。 总之,TIM基本定时中断PWM驱动模块是通过配置TIM模块的不同工作模式来实现的。其中,定时中断模式可以实现定时中断功能,而PWM输出模式可以生成PWM信号,用于驱动外部设备。这两种功能都是通过TIM模块的计数和比较功能来实现的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值