定时器&pwm练习1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、利用STM32Cube生成相关代码

1,首先点击ACCESS TO MCU SELECTOR我们创建新的工程文件
在这里插入图片描述
2,我们选择
在这里插入图片描述

这个芯片,点击右上角start
3,配置rcc
在这里插入图片描述

如图进行选择
4,配置SYS
在这里插入图片描述

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

然后修改下面的数据如图
在这里插入图片描述
7,配置中断
在这里插入图片描述

在这里插入图片描述

如图1,开启定时器2的中断
如图2,生成定时器2中断优先级配置代码
8,配置时钟
在这里插入图片描述
如图进行配置
9,创建工程

二,keil代码操作

打开刚刚生成的文件,找到main.c文件中
在这里插入图片描述
在MX_NVIC_Init()下面添加如下代码

HAL_TIM_Base_Start_IT(&htim2);

在下方找到此处
在这里插入图片描述
画圈为添加的代码,代码如下:

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);
		}
	}
}

然后调试后生成hex文件,通过串口助手烧录,再根据配置连接上led灯就完成了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值