您的位置 首页 汽车

STM32开发板学习笔记–通用定时器

定时器可以说是单片机最常用的内部资源,连续几天都在看STM32定时器的使用方法,看固件库使用手册看的头都大了,总算学会了基本的应用。1、

守时器可以说是单片机最常用的内部资源,接连几天都在看STM32守时器的使用方法,看固件库使用手册看的头都大了,总算学会了根本的使用。

1、首先在void NVIC_Configuration(void)中敞开中止:

NVIC_DeInit();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

2、初始化守时器

void TIM_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_DeInit(TIM2);//复位TIM2守时器


TIM_TimeBaseStructure.TIM_Period = 1000;//守时1毫秒
TIM_TimeBaseStructure.TIM_Prescaler = 71;//分频
TIM_TimeBaseStructure.TIM_ClockDivision = 0;//TIM_CKD_DIV1; ; // 时钟切割
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//计数方向向上计数
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);


TIM_ClearFlag(TIM2, TIM_FLAG_Update);


TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);


TIM_Cmd(TIM2, ENABLE);
}

这样每隔1ms就中止一次

中止程序写在 “stm32f10x_it.c”的 void TIM2_IRQHandler(void) 中。

在中止服务程序中的结尾一定要加上
TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update);//一定要加上这句,铲除TIM2 的中止待处理位

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部