OpenEdv-开源电子网

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

关于GPIO_ReadInputData

[复制链接]

12

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-4-17
在线时间
5 小时
发表于 2015-4-17 15:32:49 | 显示全部楼层 |阅读模式
5金钱
 GPIO_ReadInputData(GPIOA),这个库函数能够读出PA端口没有设置为输入模式引脚的值吗?求解,正在做关于4*4矩阵键盘扫描的程序



u8 Read_KeyValue(void)
{
u8 KeyValue=0;
if((GPIO_ReadInputData(GPIOA)&0xff)!=0x0f)
{
Delay_ms(5);
if((GPIO_ReadInputData(GPIOA)&0xff)!=0x0f)
{
GPIO_SetBits(GPIOA, GPIO_Pin_0);
GPIO_ResetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3);
switch(GPIO_ReadInputData(GPIOA)&0xff)
{
case 0x11: KeyValue = 1; break;
case 0x21: KeyValue = 5; break;
case 0x41: KeyValue = 9; break;
case 0x81: KeyValue = 13;break;
}

上述只是其中一小段程序,里面  这个获取键值实在是不明白,switch(GPIO_ReadInputData(GPIOA)&0xff),怎么会得到case 0x11...这些呢
求助!


最佳答案

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

先让PA0置高 当PA0 和PA4连接的按键   按下   A4被拉高    读取PA口低8位   返回值0x11 当PA0 和PA5连接的按键   按下   A5被拉高   返回0x21 。。。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2015-4-17 15:32:50 | 显示全部楼层
先让PA0置高
当PA0 和PA4连接的按键   按下   A4被拉高    读取PA口低8位   返回值0x11
当PA0 和PA5连接的按键   按下   A5被拉高   返回0x21
。。。。。。
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2015-4-17 19:53:07 | 显示全部楼层
可以令a=GPIO_ReadInputData(GPIOA)测试一下
博观而约取,厚积而薄发。
回复

使用道具 举报

12

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-4-17
在线时间
5 小时
 楼主| 发表于 2015-4-20 20:44:42 | 显示全部楼层
回复【3楼】lycreturn:
---------------------------------
谢谢,原来如此,明白了
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2019-9-25
在线时间
1 小时
发表于 2019-9-25 11:22:32 | 显示全部楼层
为什么PA4会被拉高啊,因为他是下拉输入啊吗
回复

使用道具 举报

21

主题

131

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
425
金钱
425
注册时间
2019-5-12
在线时间
168 小时
发表于 2019-9-25 14:17:31 | 显示全部楼层
不是还要加一步:配置行线为推挽输出,列线为上拉输入?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 22:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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