嵌入式仿真实验教学平台——基于SysTick中断的LED闪烁实验

之前介绍了一款国内的嵌入式仿真平台,嵌入式入门学习新途径——嵌入式仿真实验教学平台_同予的博客-CSDN博客,有朋友私信问我一些具体的细节问题,所以接下来我会运行平台上的一些实验,来展示平台的功能。

这次的实验是 基于SysTick中断的LED闪烁实验。

SysTick即系统定时器又名系统嘀嗒定时器,是一个 24 位的倒计数定时器,当计数到 0 时,将从 RELOAD 寄存器中自动重装载定时初值,开始新一轮计数。

Systick 的信号来源于系统时钟,不分频为 72MHz,8 分频为 9MHz。

这个定时器上学时很少会使用,但在工作中却经常可以发挥作用,原因是该计时器拥有独立的中断,很多效果都能使用系统定时器来实现,这也是选择介绍这个实验的原因。

此实验旨在通过系统定时器中断来控制LED灯的亮灭。

电路的搭建非常简单,仅仅需要外接一枚LED到STM32即可,重点我们来看代码部分。

Systick需要先完成初始化,我们可以直接利用STD库函数SysTick_Config()来实现,使用代码跳转可以查看该函数的定义。

函数SysTick_Config()的参数是单片机的频率,在STD库中有专门的宏定义来表示不同型号单片机的频率,我们使用的STM32F1频率为72MHz。

初始化好Systick以后,就可以开始编写中断服务函数,定时器每次计时结束后,都会进入中断 。

我们想要实现的效果很简单,每次进入中断时,反转一次LED状态即可。

接下来就是编译并运行仿真。

我们在中断函数内设置断点,运行仿真,程序不断进入中断,LED灯亮灭闪烁。

好了,这就是实验的全部内容了,希望对各位有所帮助。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值