STM32F407ZGT6|定时器中断

功能:LED每500ms闪烁一次

步骤
1、结构体的定义
2、使能LED(GPIOC外设)/定时器/中断/定时器中断
3、初始化LED/定时器
4、配置中断分组NVIC
5、编写中断服务函数(重:溢出中断发生函数/清除某中断标志位)

知识点须知:

定时器简介
1)F4中共14个定时器;
2)TIM1/TIM8高级定时器、TIM2到TIM5/TIM9到TIM14通用定时器、TIM6/TIM7基本定时器
通用定时器(本项目):
1)16位或32位自动重载计数器,由可编译预分频器驱动
2)应用场景:测量输入信号的脉冲长度;产生输出波形PWM等
3)每个通用定时器完全独立,没有相互共享的资源
本实验相关寄存器
感兴趣的姐妹可以自己查看数据手册(因为项目直接调用了库,但寄存器部分也很重要)
在这里插入图片描述

1、结构体的定义
	GPIO_InitTypeDef GPIO_InitStructure;//LED
	NVIC_InitTypeDef  NVIC_InitStructure;//NVIC
	TIM_TimeBaseInitTypeDef TIM_InitStructure;
2、使能LED(GPIOC外设)/定时器/中断/定时器中断
	//使能定时器 及TIM3 外设时钟
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);//ʹĜGPIOCʱ֓ 外设时钟使能
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);//使能 定时器时钟TIM3
	//设置TIM3_DIER允许更新中断
	TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//参数2:指明使能的定时器中断类型 更新(该项目为更新)、触发、输入捕获
3、初始化LED/定时器

将所有的参数都配置了一次,主要是方便以后回溯,怕日后遗忘

	//LED 初始化 仅需设置前两个参数即可,后面三个均为默认
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStructure.GPIO_Speed = GPIO_Low_Speed;
	GPIO_Init(GPIOC , &GPIO_InitStructure);
	//定时器初始化 通用定时器 四个参数即可
//	TIM_InitStructure.TIM_Prescaler
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值