[学习笔记]STM32F1通用定时器-PWM(寄存器、标准库、HAL库)

目录

11. 通用定时器-PWM

1. 实验内容及步骤:

2. 硬件说明

3. 步骤详细讲解

3.1定时器配置

3.2定时器输出PWM配置

4. 程序设计(寄存器)

5. 程序设计(标准库)

6. 程序设计(HAL库)

7. 实验结果

8. 源码下载


 

11. 通用定时器-PWM

1. 实验内容及步骤:

       1. 通过定时器2,经过分频和重装载值生成50Hz=20ms的周期的中断,并且在50次中断后(即1s),让LED反转。

       2. 通过定时器2通道1(PA0)的PWM输出,实现LED呼吸灯。

2. 硬件说明

本电路的硬件如下图所示,LED灯与GPIOB5相连,低电平亮,高电平灭。

 

3. 步骤详细讲解

3.1定时器配置

       1. 时钟的选择,选择内部时钟源;

       2. 计数模式的选择,选择向上计数;

       3. 定时器分频选择,内部时钟源=2*APB1=72M,分频720得到定时器的时钟100KHz

       4. 自动重装载:配置为2000,即100KHz/2000=50Hz=20ms(周期);

       5. 中断源配置:配置只有上下溢出中断,使能中断。

      1. 时钟选择

       内部时钟源:

       TIMx_SMCR寄存器中的SMS[2:0]=000, 关闭从模式

       本实验中使用内部时钟:

              TIMx_SMCR &= ~((u32)0x07<<0);    //关闭从模式

       TIMx_CR1寄存器的CEN(第0位),决定定时器的使能/禁止。

       内部时钟源(CK_INT)    CEN位被写成’1’。

       本实验中:

              TIMx_CR1 |= ((u32)0x01<<0);    //使能计数器

      

      2. 计数方向选择

       TIMx_CR1的CMS[1:0]=00, 边沿对齐模式。计数器依据方向位(DIR)向上或向下计数。

       TIMx_CR1的DIR位ÿ

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值