打印
[STM32F0]

大家有什么好的按键消抖的方法,交流一下!!!

[复制链接]
1197|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
巴了吧|  楼主 | 2015-1-5 16:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟求一份矩阵键盘扫描程序参考一下(消抖不用延时的)stm32的,自己写了一个不知道哪里有问题,老是不好使!求拯救……
沙发
巴了吧|  楼主 | 2015-1-8 16:20 | 只看该作者
本帖最后由 巴了吧 于 2015-1-8 16:23 编辑

void KEY_Init(void)
{        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);
        GPIO_InitStructure.GPIO_Pin  = H1|H2|H3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        GPIO_InitStructure.GPIO_Pin  = Z1|Z2|Z3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        
}
u8 KEY_Scan(void)
{     
      u8 i=4,j=4;
      u16 temp1,temp2;
      GPIO_ResetBits(GPIOB,H1|H2|H3);
      GPIO_SetBits(GPIOB,Z1|Z2|Z3);
      if((GPIO_ReadInputData(GPIOB)&0xe000)==0xe000)
        return 0;
      else
        temp1=GPIO_ReadInputData(GPIOB);
      switch(temp1)
      {
       case 0xc000:j=0;break;
       case 0xa000:j=1;break;
       case 0x6000:j=2;break;  
       }
}这是我的行扫描,但是就是扫描不到,3*3的矩阵键盘,引脚是PB10~PB15

使用特权

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

本版积分规则

13

主题

61

帖子

1

粉丝