STM32高级定时器1配置

前言:

TIM1,TIM8可以产生死区互补PWM波,学习后发现stm32的定时器功能确实很强大,小总结一下方便以后使用的时候做参考。Stm32定时器一共分为三种:tim1和tim8是高级定时器,6和7是基本定时器,2-5是通用定时器。从名字就可以看得出来主要功能上的差异。废话不说,直接上代码。
1、高级定时器初始化

/************************************************************************
*Author:
*Data:
*Function:Foundation_Timer1_Init;
*Description:定时器1初始化程序;
*Calls:
   Foundation_Timer1_Nvic_Init();
   Foundation_Timer1_Perpheral_Init(period,prescaler);
*Input:period计数周期,prescaler分频系数;
*Output:Null;
*Return:Null;
*Others:Null
*************************************************************************/
void Foundation_Timer1_Init(void)
{
   
 Foundation_Timer1_Nvic_Init();        //初始化定时器1中断优先级配置
 Foundation_Timer1_Gpio_Init();
 Foundation_Timer1_Perpheral_Init();//初始化定时器1功能配置
}

2、中断向量初始化

/************************************************************************
*Author:
*Data:
*Function:Foundation_Timer1_Nvic_Init;
*Description:定时器1中断向量初始化程序;
*Calls:
   Foundation_Timer1_Nvic_Init();
   Foundation_Timer1_Perpheral_Init(period,prescaler);
*Input:period计数周期,prescaler分频系数;
*Output:Null;
*Return:Null;
*Others:Null
*************************************************************************/
void Foundation_Timer1_Nvic_Init(void)
{
   
 NVIC_InitTypeDef NVIC_InitStructure;
 
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);      //先占优先级0,从优先级0-16
 NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;     //TIM1中断
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级0
 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;     //响应优先级7
 NVIC_InitStructure.NVIC_IRQChannelCmd
  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值