OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4810|回复: 11

原子哥帮我看下这个矩阵噻

[复制链接]

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
发表于 2015-3-3 14:20:00 | 显示全部楼层 |阅读模式
5金钱
u8 Matrixkey(void)  

  u8 j=30;
  u16 temp;
   GPIOA->CRL&=0X00000000; 
   GPIOA->CRL|=0X88883333;
   GPIOA->ODR=0x0001;
   if((GPIOA->IDR) & 0x00f0!=0x0000)
      {
            temp=GPIOA->IDR & 0x00f0;
      switch(temp)
           {
            case 0x00e0: j=1; break;//11100000
            case 0x00d0: j=2; break;//11010000
            case 0x00b0: j=3; break;//10110000
            case 0x0070: j=4; break;//01110000           }
     }
return j; 
}


 能返回1和2,3,4没反应

最佳答案

查看完整内容[请看2#楼]

回复【5楼】jermy_z: --------------------------------- 不是语句的问题,我觉得可能是PA0-7接了25064F芯片的问题吧
新手学STM
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-3 14:20:01 | 显示全部楼层
回复【5楼】jermy_z:
---------------------------------
不是语句的问题,我觉得可能是PA0-7接了25064F芯片的问题吧
新手学STM
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-3-3 14:24:16 | 显示全部楼层
自己debug下temp值
学无止境
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-3 14:31:46 | 显示全部楼层
u8 Matrixkey(void)  

  u8 j=30;
  u8 temp;
 
   GPIOA->CRL&=0X00000000; 
   GPIOA->CRL|=0X88883333;
   GPIOA->ODR=0x000f;
   if((GPIOA->IDR) & 0x00f0!=0x0000)
      {
            temp=GPIOA->IDR & 0x00f0;
      switch(temp)
           {
            case 0x00e0: j=1; break;//11100000
            case 0x00d0: j=2; break;//11010000
            case 0x0040: j=3; break;//01000000
            case 0x0080: j=4; break;//10000000
           }
     }
return j; 
}

为什么1,2和3,4,不一样才能返回值呢?
4有了,但3不灵有时半天才能按出来
新手学STM
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-3 15:28:29 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
u8 Matrixkey(void)  

  u8 j=30;
  u8 temp;
  
   GPIOA->CRL&=0X00000000;  
   GPIOA->CRL|=0X88883333;
   GPIOA->ODR=0x000f; 
   if((GPIOA->IDR) & 0x00f0!=0x0000)
      {
            temp=GPIOA->IDR & 0x00f0;
      switch(temp) 
           {
            case 0x00e0: j=1; break;//11100000
            case 0x00d0: j=2; break;//11010000
            case 0x0040: j=3; break;//01000000
            case 0x0080: j=4; break;//10000000
           }
     }
return j; 
}

为什么1,2和3,4,不一样才能返回值呢?
4有了,但3不灵有时半天才能按出来
新手学STM
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-3-3 16:58:04 | 显示全部楼层
回复【4楼】psufhvka:
---------------------------------
你还是学学  switch case 语句吧
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-3 17:07:21 | 显示全部楼层
回复【6楼】psufhvka:
---------------------------------
有可能。
你得先排除硬件问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-3-3 17:12:05 | 显示全部楼层
回复【6楼】psufhvka:
---------------------------------
是有可能 所以让你Debug一下temp值 ,当你操作的时候, 看temp到底是多少
学无止境
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-3 17:13:57 | 显示全部楼层
回复【7楼】正点原子:
--------------------------------我其它建我试过了都行,就A6线不行,刚好是接3返回建的,在MINI板弄矩阵又要接显示不好怎呀,有没有连号的空接口呢?
新手学STM
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-3 17:16:08 | 显示全部楼层
回复【8楼】jermy_z:
---------------------------------手里没有防真器
新手学STM
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-3-3 18:00:13 | 显示全部楼层
回复【10楼】psufhvka:
---------------------------------
那可以串口输出到电脑上用串口调试工具看吗?

可以的话  把temp输出出来看看
学无止境
回复

使用道具 举报

33

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-2-23
在线时间
26 小时
 楼主| 发表于 2015-3-3 20:56:42 | 显示全部楼层
回复【11楼】jermy_z:
---------------------------------
是个办法,试试看
新手学STM
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 17:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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