[STM32] stm32f103zet6独立按键写了没反应,求救

[复制链接]
147|2
 楼主 | 2018-10-10 19:41 | 显示全部楼层 |阅读模式
void KEY_Init(void)    //IO³õʼ»¯
{
        GPIO_InitTypeDef GPIO_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);//ʹÄÜPORTA,PORTEʱÖÓ

        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_4|GPIO_Pin_3;//KEY0-KEY1
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //ÉèÖóÉÉÏÀ­ÊäÈë
        GPIO_Init(GPIOE, &GPIO_InitStructure);//³õʼ»¯GPIOE4,3

        //³õʼ»¯ WK_UP-->GPIOA.0          ÏÂÀ­ÊäÈë
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0ÉèÖóÉÊäÈ룬ĬÈÏÏÂÀ­          
        GPIO_Init(GPIOA, &GPIO_InitStructure);//³õʼ»¯GPIOA.0

}
//°´¼ü´¦Àíº¯Êý
//·µ»Ø°´¼üÖµ
//mode:0,²»Ö§³ÖÁ¬Ðø°´;1,Ö§³ÖÁ¬Ðø°´;
//0£¬Ã»ÓÐÈκΰ´¼ü°´ÏÂ
//1£¬KEY0°´ÏÂ
//2£¬KEY1°´ÏÂ
//3£¬KEY3°´Ï WK_UP
//×¢Òâ´Ëº¯ÊýÓÐÏìÓ¦ÓÅÏȼ¶,KEY0>KEY1>KEY_UP!!
u8 KEY_Scan(u8 mode)
{         
        static u8 key_up=1;//°´¼ü°´ËÉ¿ª±êÖ¾
        if(mode)key_up=1;  //Ö§³ÖÁ¬°´                  
        if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))
        {
                delay_ms(10);//È¥¶¶¶¯
                key_up=0;
                if(KEY0==0)return KEY0_PRES;
                else if(KEY1==0)return KEY1_PRES;
                else if(WK_UP==1)return WKUP_PRES;
        }else if(KEY0==1&&KEY1==1&&WK_UP==0)key_up=1;             
        return 0;// ÎÞ°´¼ü°´ÏÂ
}
| 2018-10-11 09:48 | 显示全部楼层
帮你消灭零回复
| 2018-10-15 13:39 | 显示全部楼层
这是正点原子例程吧?应该可以用,看看硬件
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /1 下一条

快速回复 返回顶部 返回列表