定时器练习(LED实现周期性闪烁)

一.LED周期性的闪烁

1.工程的建立

新建工程,进行基本配置。通过点击“ACCESS TO MCU SELECTOR”来创建一个新的工程

 

芯片选择“STM32F103C8”。

打开外部时钟,点击“System Core”,选择RCC,在右侧弹出的菜单栏中选择“Crystal/Ceramic Resonator”。

选择调试接口,点击“System Core”,选择RCC。,在右侧弹出的菜单栏中选择“Serial Wire”。

配置IO。LED部分和实验2一样,配置PC15,并命名为D1。这里我们只使用一个LED,做演示用。

配置定时器2。这里我们使用定时器2来实现定时的功能。如图所示,依次点击位置1,选中定时器2;位置2,配置定时器2的时钟源为内部时钟;位置3,分频系数为71,向上计数模式,计数周期为5000,使能自动重载模式。

 

配置中断。如下图所示,开启定时器2的中断。

如下图所示,生成定时器2中断优先级配置代码。

 

 

然后生成工程文件

修改工程。生成工程后,打开,添加中断响应之后所需的一些代码。在main.c文件中添加如下内容,位置1:

位置2:

 添加以下代码:void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { static uint32_t time_cnt =0; if(htim->Instance == TIM2) { if(++time_cnt >= 100) { time_cnt =0; HAL_GPIO_TogglePin(D1_GPIO_Port,D1_Pin); } } }

即可达成任务。

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值