打印

用stm32控制流水灯变速的问题 求大神~

[复制链接]
519|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冷冻链|  楼主 | 2018-6-27 11:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我用的是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数据混乱了  但是怎么解决呢  求帮助~~~~~~~~

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

397

主题

397

帖子

0

粉丝