初级会员
积分 116
金钱 116
注册时间 2022-9-29
在线时间 27 小时
3 金钱
程序如下图所示,想中断改变标志位,然后死等标志位改变的方式来实现的,但是在中断中while又没法再次响应该中断来改变标志位。
程序的总体功能是控制电机旋转,希望在按下按键后电机可以停止,再次按下可以按照之前暂停的地方继续执行
求指教思路,该如何实现。
void EXTI9_5_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line8)!=RESET)
{
delay_ms(10);//Ïû¶¶
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8)==0) //°′¼üKEY0
{
flag ^= 1;
while(flag)
{
// if(flag == 1)
// {
// TIM_Cmd(TIM2, DISABLE); //
// TIM_Cmd(TIM3, DISABLE); //
// TIM_Cmd(TIM4, DISABLE); //
// }
// else
// {
// TIM_Cmd(TIM2, ENABLE); //3
// TIM_Cmd(TIM3, ENABLE); //
// TIM_Cmd(TIM4, ENABLE); //
// break;
// }
}
}
}
EXTI_ClearITPendingBit(EXTI_Line8); //Çå3yLINE4éÏμÄÖD¶Ï±ê־λ
}
我来回答