嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号

定时器控制LED闪烁与产生PWM脉冲宽度调制信号

  • 一、前言
  • 二、定时器基本介绍
    • (一)STM32定时器
    • (二)通用定时器主要功能
    • (三)计数器模式
    • (四)定时器工作原理
  • 三、实验(1)初识定时器
    • (一)实验要求
    • (二)实验步骤
      • (1)在STM32CuBe中新建工程。
      • (2)打开外部时钟。
      • (3)选择调试接口。
      • (4)配置IO。
      • (5)配置定时器2。
      • (6)配置中断。
      • (7)时钟配置。
      • (8)生成对应程序
    • (三)代码撰写
    • (四)定时器点灯实现
    • (五)定时器实现串口通信
  • 四、PWM信号
    • (一)PWM基本介绍
    • (二)STM32定时器输出pwm的主要参数
  • 五、实验(2)PWM产生呼吸灯
    • (一)什么是呼吸灯
    • (二)实验要求
    • (三)实验原理
    • (四)实验步骤
      • (1)工程建立
      • (2)打开外部时钟。
      • (3)选择调试接口。
      • (4)配置定时器2。
      • (5)时钟配置。
      • (6)生成文件
    • (五)代码撰写
      • (1)修改工程
      • (2)位置2修改
      • (3)位置3修改
    • (六)呼吸灯实现
  • 六、总结
  • 七、参考

一、前言

前面的实验中,我们学习了如何进行串口通信、中断的方式实现,但是在这之前的功能都是通过delay函数实现的。这种方式,相当于让CPU一直在做无用功,还不能做别的事情。这一节通过定时器的方式实现时间的精准控制,相当于给CPU上了一个闹钟,CPU平时处理其它任务,当定时时间到了以后,处理定时相关的任务。
定时器作为微控制器不可缺少的外设,在STM32中也是如此。相信不少初学者学到定时器的时候对STM32的学习热情就大打折扣甚至想要放弃了,因为这一部分知识确实比较复杂。但是,如果你在之前对GPIO、串口通信、外部中断的学习中把这些外设掌握了的话,学习这个新知识并不难。
我们将从两个方面去学习定时器:

1. 第一个是设置一个5秒的定时器,每隔5秒从串口发送“hello windows!”;同时设置一个2秒的定时器,让LED等周期性地闪烁。
2. 使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸灯的效果。

二、定时器基本介绍

(一)STM32定时器

上来说就是用来定时的机器,是存在于STM32单片机中的一个外设。STM32总共有8个定时器,分别是2个高级定时器&#x

你可能感兴趣的:(stm32,单片机,arm)