您的位置 首页 设计

STM32 TIMx 装备

固件库V3.5IARvoidNVIC_Configuration(void){/***********************定时器2中断*******************************

固件库 V3.5 IAR

void NVIC_Configuration(void)
{
/***********************定时器2中止**********************************/
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;//使能或许失能指定的 IRQ通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;//设置了成员 NVIC_IRQChannel中的先占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//设置了成员 NVIC_IRQChannel中的从优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能初始化指令
NVIC_Init(&NVIC_InitStructure);//初始化
/***********************定时器4中止**********************************/
NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;//使能或许失能指定的 IRQ通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//设置了成员 NVIC_IRQChannel中的先占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;//设置了成员 NVIC_IRQChannel中的从优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能初始化指令
NVIC_Init(&NVIC_InitStructure);//初始化

/*******************************************************************************
* 函数称号: Time2_Configuration(void)
* 函数功用: Time2 设置 计数器
* 参数变量: NONE
* 全局变量: NONE
* 调用函数:
* 修正时刻:
* 版 本:V1.0
* 状 态:调试完结
*******************************************************************************/
void Time2_Configuration(void)
{
/************************* 根本定时器形式设置**************************/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2|RCC_APB1Periph_TIM4, ENABLE); //使能 TIM3 时钟
TIM_DeInit(TIM2);//初始化定时器2
TIM_DeInit(TIM4);//初始化定时器4

TIM_TimeBaseStructure.TIM_Period = 65535; //初值
TIM_TimeBaseStructure.TIM_Prescaler = 2; //设置了用来作为 TIMx 时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1 ; //设置了时钟切割1:1
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数方法 向上计数
TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure); //依据 TIM_TimeBaseInitStruct 中指定的参数初始化 TIMx 的时刻基数单位
TIM_TimeBaseInit(TIM4, & TIM_TimeBaseStructure); //依据 TIM_TimeBaseInitStruct 中指定的参数初始化 TIMx 的时刻基数单位

GPIO_PinRemapConfig(GPIO_FullRemap_TIM2 ,DISABLE);//不重映射
TIM_ITConfig(TIM2, TIM_IT_Update ,ENABLE); //使能中止
TIM_ITConfig(TIM4, TIM_IT_Update ,ENABLE); //使能中止
TIM_Cmd(TIM2, ENABLE);//使能外设 TIME2
TIM_Cmd(TIM4, ENABLE);//使能外设 TIME4
}

/*******************************************************************************
* 函数称号: TIM3_IRQHandler(void)
* 函数功用: TIM3 中止函数
* 参数变量: NONE
* 全局变量: NONE
* 调用函数:
* 修正时刻:
* 版 本: V1.0
* 状 态:
*******************************************************************************/
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3, TIM_IT_Update ) != RESET)
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);//铲除标志
//

}

}
/*******************************************************************************
* 函数称号: TIM4_IRQHandler(void)
* 函数功用: TIM4 中止函数
* 参数变量: NONE
* 全局变量: NONE
* 调用函数:
* 修正时刻:
* 版 本: V1.0
* 状 态:
*******************************************************************************/
void TIM4_IRQHandler(void)
{
if(TIM_GetITStatus(TIM4, TIM_IT_Update ) != RESET)
{
TIM_ClearITPendingBit(TIM4, TIM_IT_Update);//铲除标志
//
countx++;
if(countx<120){
GPIO_SetBits(GPIOF,GPIO_Pin_7);

}//保存数据//封闭一切的LED指示灯
else {
GPIO_ResetBits(GPIOF,GPIO_Pin_7);

}
}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/252333.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部