×
单片机 > 单片机程序设计 > 详情

stm32学习笔记---计数器定时中断(1s)

发布时间:2020-08-28 发布时间:
|

 

#include "tim_driver.h"

 

 

//tim2³õʼ»¯:1ÃëÖÓ¸üÐÂÊý¾Ý

void tim2_init(void)

{

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;


//ʹÄÜʱÖÓ

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);


TIM_TimeBaseInitStruct.TIM_ClockDivision = TIM_CKD_DIV1;

TIM_TimeBaseInitStruct.TIM_CounterMode   = TIM_CounterMode_Up;

TIM_TimeBaseInitStruct.TIM_Period        = 9999;   

TIM_TimeBaseInitStruct.TIM_Prescaler     = 7199;

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStruct);


//ʹÄÜUPDATAµÄÖжÏÅäÖÃλ

TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);


//¶¨Ê±Æ÷ʹÄÜ

TIM_Cmd(TIM2,ENABLE);

}

 

//tim2Öжϳõʼ»¯

void tim2_NVIC_init(void)

{

NVIC_InitTypeDef NVIC_InitStruct;


NVIC_InitStruct.NVIC_IRQChannel      = TIM2_IRQn;  

NVIC_InitStruct.NVIC_IRQChannelCmd   = ENABLE;

NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority  = 0;

NVIC_InitStruct.NVIC_IRQChannelSubPriority   = 3;

 

NVIC_Init(&NVIC_InitStruct);

}

void TIM2_IRQHandler(void)

{

 

if(TIM_GetITStatus(TIM2, TIM_IT_Update) == SET)

 

TIM_ClearITPendingBit(TIM2, TIM_IT_Update);

uart1_putc('A');

}

}

 



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计