嵌入式小白学习:STM32实现定时器控制LED灯

嵌入式小白学习:STM32实现定时器控制LED

Part1.理论基础

本实验通过配置STM32CUBEMX工具,实现板上LED的控制。先看原理图,确认LED的接口和点亮电平。LED部分电路如下:
在这里插入图片描述
对应单片机的接口为PC15、PA1、PA2:
在这里插入图片描述

Part2.环境的配置

首先打开STM32CubeMX,新建一个工程。
1.在System Core中,配置RCC: 将右侧窗口中High Speed Clock选项改为
Crystal/Ceramic Resonator
2.同样,在System Core中配置SYS:将右侧窗口中的Debug配置为:Serial Wire
在这里插入图片描述
3.配置I/O:点击右边芯片PC15引脚,选择配置为:GPIO_Output
在这里插入图片描述
4.配置时钟:左侧Times一栏中,选择TIM2,右侧的Clock Source 一栏配置为 Internal Clock,再将下面配置为如图所示:

在这里插入图片描述
原理:分频系数那里虽然写的是71,但系统处理的时候会自动加上1,所以实际进行的是72分频。由于时钟我们一般会配置为72MHZ,所以72分频后得到1MHZ的时钟。1MHZ的时钟,计数5000次,得到时间5000/1000000=0.005秒。也就是每隔0.005秒定时器2会产生一次定时中断。
5.

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32是一款广泛应用于嵌入式系统的微控制器,通过定时器可以方便地实现LED的闪烁功能。 首先,我们需要配置一个定时器控制LED的闪烁间隔。定时器可以选择使用内部的系统时钟作为时基,也可以通过外部时钟源提供时基。在本例中,我们选择使用内部时钟作为时基。 接下来,我们需要配置GPIO引脚来控制LEDSTM32有多个GPIO引脚可以用来控制LED的亮灭状态。我们将一个GPIO引脚配置为输出模式,并连接到LED。 然后,我们需要编写代码来配置定时器和GPIO引脚,并实现LED的闪烁。 首先,我们使用CubeMX来配置STM32的时钟源和GPIO引脚。我们选择一个合适的时钟源作为定时器的时基,同时将一个GPIO引脚配置为输出模式,并连接到LED。 然后,我们打开Keil或其他编程软件,编写C语言代码来实现LED的闪烁。在代码中,我们使用定时器的中断功能来控制LED的亮灭状态。 首先,我们初始化定时器并配置定时器的参数,如定时器的预分频值和计数器的重载值。然后,我们使能定时器的中断,并编写一个中断服务函数来处理定时器中断。 在中断服务函数中,我们使用一个计数变量来记录中断的次数。当计数变量达到我们需要的闪烁间隔时,我们改变LED的状态,即改变GPIO引脚的电平状态,使LED闪烁。 最后,我们在主函数中启动定时器,并进入一个无限循环来保持程序的运行。在无限循环中,我们不需要做任何操作,因为LED的闪烁将由定时器中断来实现。 通过上述步骤,我们成功实现STM32通过定时器控制LED的闪烁功能。这样,每当定时器中断触发时,LED的状态就会改变,从而实现LED的闪烁效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值