新手上路
- 积分
- 23
- 金钱
- 23
- 注册时间
- 2017-2-25
- 在线时间
- 3 小时
|
1金钱
中断服务程序
void TIM8_CC_IRQHandler(void) //TIM1¶¨ê±Æ÷ÖD¶Ï
{
if(TIM_GetITStatus(TIM8,TIM_IT_CC1)!=RESET)
{
//TIM_ClearITPendingBit(TIM8,TIM_IT_CC1|TIM_IT_Update);
TIM8->SR=0;
printf("I have come in IT");
if(num0==360)
{
num0=0;
}
if(num1==360)
{
num1=0;
}
if(num2==360)
{
num2=0;
}
TIM_SetCompare1(TIM1,data[num0]);
TIM_SetCompare2(TIM1,data[num1]);
TIM_SetCompare3(TIM1,data[num2]);
num0++;
num1++;
num2++;
}
}
中断初始化部分程序
TIM_InitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_InitStruct.TIM_CounterMode=TIM_CounterMode_Up;
TIM_InitStruct.TIM_Period=arr;
TIM_InitStruct.TIM_Prescaler=psc;
TIM_InitStruct.TIM_RepetitionCounter=0;
TIM_TimeBaseInit(TIM1,&TIM_InitStruct);
TIM_TimeBaseInit(TIM8,&TIM_InitStruct);
TIM_ITConfig(TIM8, TIM_IT_CC1, ENABLE);
//TIM_ITConfig(TIM8, TIM_IT_CC3, ENABLE);
NVIC_InitStruct.NVIC_IRQChannel=TIM8_CC_IRQn;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=0;
NVIC_Init(&NVIC_InitStruct);
这个函数进入中断出来之后,就不能进入了,不知是什么原因,很是奇怪。
|
|