我用的是mini 按键PA0和PC13控制加速和减速 下面是中断函数
void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line13) != RESET)
{
delay_ms(100);
data+=100;
if(data > 1000) 速度达到1000最慢时在按速度变小
{
data=100;
}
EXTI_ClearITPendingBit(EXTI_Line13);
}
}
void EXTI0_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line0) != RESET)
{
delay_ms(100);
data-=100;
if(data < 100) 速度达到最快变回最慢
{
data=1000;
}
EXTI_ClearITPendingBit(EXTI_Line0);
}
}
int main(void)
{
LED_GPIO_Config();
EXTI_PC13_Config();
EXTI_PA0_Config();
CLI();
SEI();
data=100;
while(1)
{
LED_GO();
}
}
下载运行后可以实现变速 但是我data是由100变到1000 应该有10个速度级别 可是在开发板上 按键按到第五下速度就变回最快了 并没有10个级别的变化 我觉得是data数据混乱了 但是怎么解决呢 求帮助~~~~~~~~
|
|