新手上路
- 积分
- 33
- 金钱
- 33
- 注册时间
- 2017-4-23
- 在线时间
- 10 小时
|
2金钱
本帖最后由 samk 于 2017-10-30 14:16 编辑
extern u16 ccr1;
extern u16 ccr2;
void TIM3_IRQHandler(void) //TIM3ÖD¶Ï
{
if (TIM_GetITStatus(TIM3, TIM_IT_CC1) != RESET) //¼ì2éÖ¸¶¨μÄTIMÖD¶Ï·¢éúóë·ñ:TIM ÖD¶ÏÔ′
{
TIM_ClearITPendingBit(TIM3, TIM_IT_CC1 ); //Çå3yTIMxμÄÖD¶Ï′y′|àíλ:TIM ÖD¶ÏÔ′
if(ccr2==2000)
{
ccr2=2600;
TIM_SetCompare1(TIM3,ccr2);
}
else if(ccr2==2600)
{
ccr2=2000;
TIM_SetCompare1(TIM3,ccr2);
}
}
if (TIM_GetITStatus(TIM3, TIM_IT_CC2) != RESET) //¼ì2éÖ¸¶¨μÄTIMÖD¶Ï·¢éúóë·ñ:TIM ÖD¶ÏÔ′
{
TIM_ClearITPendingBit(TIM3, TIM_IT_CC2 ); //Çå3yTIMxμÄÖD¶Ï′y′|àíλ:TIM ÖD¶ÏÔ′
if(ccr1==200)
{
ccr1=800;
TIM_SetCompare2(TIM3,ccr1);
}
else if(ccr1==800)
{
ccr1=200;
TIM_SetCompare2(TIM3,ccr1);
}
}
}
|
最佳答案
查看完整内容[请看2#楼]
你这还有定时器2的TIM_ClearFlag(TIM2, TIM_FLAG_CC1|TIM_FLAG_CC2);
你还是好好在检查下再弄,确保代码没问题再看看中断为啥没进
|