[mw_shl_code=c,true]void EXTI0_IRQHandler(void)
{
delay_ms(10);//消抖
if(WK_UP==0) //清零按键
{
count1=0;//所有数置零
count2=0;//所有数置零
bushuge=0;//所有数置零
bushushi=0;//所有数置零
mbushushi=0;//所有数置零
mbushuge=0;//所有数置零
countz=count1*10+count2;//所有数置零
bushu=bushushi*10+bushuge;//所有数置零
mbushu=mbushushi*10+mbushuge;//所有数置零
printf("%d
",countz);//打印到串口
}
EXTI_ClearITPendingBit(EXTI_Line0); //清除LINE0上的中断标志位
}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你的按键中断处理的东西真是多啊,不建议在中断里面处理那么多事,考虑实际项目不能在中断里面用delay那样消抖,最普通的按键实现可以有多种方式,如楼上所说的论坛很多人分享过他们的方法,下面的帖子就是一个,你可以参考,觉得不够你可以善用论坛的搜索功能
http://www.openedv.com/forum.php ... hlight=%B0%B4%BC%FC
谢谢,我会改进的
谢谢提醒,我记住了!
一周热门 更多>