stm32 tim6、tim7中断配置以及注意事项

来源:互联网 发布:开源手机网站源码 编辑:程序博客网 时间:2024/04/29 13:39
void TIM6_Init(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 13;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);


RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); 
TIM6->PSC = 72*2 - 1; //
TIM6->ARR = 25-1; // 10 000 Hz
TIM6->CR1 = 0x0004 + 0x0001; // URS = 1 CEN = 1
TIM6->DIER = 0x0001; // 

}

static uchar TIM6_Flag=0;
static uchar TIM6_Count=0;
void TIM6_IRQHandler(void)
{
////
//// TIM6_Count++;
//// if(TIM6_Count==4)
//// {
// if(TIM6_Flag==0)
// {
// TIM6_Flag=1 ;
// LED1(OFF)   ;
// }
// else
// {
// LED1(ON);
// TIM6_Flag=0;
// }
//// TIM6_Count=0;
//// }
//
//// LED2_TOGGLE ;
TIM6->SR=0x0000;//
STEPMOTOR1_STEP;
// TIM6->SR=0x0000;//
}

注意:进入中断后,要立刻清标志位。否则会出现意外。

0 0
原创粉丝点击