你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

往RA8875移植矩阵键盘程序失败

[复制链接]
亿万斯年 提问时间:2015-8-17 11:40 /
安富莱提供的例程RA8875,往里面移植4×4矩阵键盘失败,就是搞不懂原因,扫描程序如下int KEY_Scan(void){
u8 KeyVal;
GPIO_Write(GPIOA,(GPIOA->ODR & 0xf0ff | 0x0f00));
if((GPIOA->IDR & 0xf000)==0x0000)
    return -1;
else
{
   bsp_DelayMS(5);
   if((GPIOA->IDR & 0xf000)==0x0000)
   return -1;
   }
   GPIO_Write(GPIOA,(GPIOA->ODR & 0xf0ff | 0x0100));
    switch(GPIOA->IDR & 0xf000)
      {
         case 0x1000: KeyVal=15; break;
             case 0x2000: KeyVal=11; break;   
         case 0x4000: KeyVal=7; break;  
         case 0x8000: KeyVal=3; break;
          }
        GPIO_Write(GPIOA,(GPIOA->ODR & 0xf0ff | 0x0200));
         switch(GPIOA->IDR & 0xf000)
      {
         case 0x1000: KeyVal=14; break;
             case 0x2000: KeyVal=10; break;   
         case 0x4000: KeyVal=6; break;  
         case 0x8000: KeyVal=2; break;
          }
        GPIO_Write(GPIOA,(GPIOA->ODR & 0xf0ff | 0x0400));
        switch(GPIOA->IDR & 0xf000)
         {
         case 0x1000: KeyVal=13; break;
             case 0x2000: KeyVal=9; break;   
         case 0x4000: KeyVal=5; break;  
         case 0x8000: KeyVal=1; break;
            }
        GPIO_Write(GPIOA,(GPIOA->ODR & 0xf0ff | 0x0800));
        switch(GPIOA->IDR & 0xf000)
             {
          case 0x1000: KeyVal=12; break;
                 case 0x2000: KeyVal=8; break;   
          case 0x4000: KeyVal=4; break;  
          case 0x8000: KeyVal=0; break;
           }
        return KeyVal;
        }



收藏 评论1 发布时间:2015-8-17 11:40

举报

1个回答
ql1000 回答时间:2016-8-28 23:18:40
学习学习

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版