好了上篇说到按键扫描的缺陷,那么现在我就说下按键的完美实现就用外部中断!这里有一个问题就是即使你使用外部中断方法,你会发现消抖效果还是不太好,这个时候只需要在每个中断服务函数前面加一个延时,效果就很赞了!!
首先还是贴上大神师兄的寄存器实现和实现思路讲解http://blog.csdn.net/ieczw/article/details/15816257,这里我就不再多说了!贴上我的库开发代码!
#include"exit.h"
void EXTI_KEY_Conf()
{
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_AFIO, ENABLE);//注意开复用时钟
//NVIC_Conf();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//选择中断优先组
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn ;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//抢占优先级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//响应优先级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQCha