打印
[STM32F0]

stm32f051r8 pc13不能作为按键读

[复制链接]
1344|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
实验时,发现PC13 作为按键,不能读,用万用表来测,按键后,电平是低的,但软件读不到低,为什么?



                RCC_AHBPeriphClockCmd(RCC_AHBPeriph_KEY_PORT, ENABLE);
                GPIO_InitStruct.GPIO_Pin = UP_KEY_PIN | DOWN_KEY_PIN | ENTER_KEY_PIN | SET_KEY_PIN ;
                GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;
                GPIO_InitStruct.GPIO_Speed = GPIO_Speed_Level_2;
                GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
                GPIO_Init(GPIO_KEY_PORT, &GPIO_InitStruct);

读按键
                TempKeyIn = GPIO_ReadInputData(GPIO_KEY_PORT);  

沙发
mmuuss586| | 2014-6-13 12:23 | 只看该作者
本帖最后由 mmuuss586 于 2014-6-13 12:40 编辑


程序没啥问题啊;
端口定义发上来看看;

使用特权

评论回复
板凳
mmuuss586| | 2014-6-13 12:52 | 只看该作者
我测试了下

输入接地测试结果



输入接高电平测试结果


使用特权

评论回复
地板
cym_anhui|  楼主 | 2014-6-16 08:17 | 只看该作者
mmuuss586 发表于 2014-6-13 12:23
程序没啥问题啊;
端口定义发上来看看;

GPIO_KEY_PORT  == PORTC
SET_KEY_PIN   == PC.13

使用特权

评论回复
5
cym_anhui|  楼主 | 2014-6-16 09:03 | 只看该作者
对不起,各位,是按一次,出来多次键,其他端口不这样的,再不行,我要换个IO了

使用特权

评论回复
6
cym_anhui|  楼主 | 2014-6-19 14:34 | 只看该作者
有人测试过嘛?

使用特权

评论回复
7
cym_anhui|  楼主 | 2014-6-19 14:34 | 只看该作者
有人测试过嘛?

使用特权

评论回复
8
cym_anhui|  楼主 | 2014-6-19 14:35 | 只看该作者
我希望ST公司人测试测试,是不是这样的,尽管我可以换一个IO,可以解决,但我想知道原因

使用特权

评论回复
9
icecut| | 2014-6-19 16:51 | 只看该作者
cym_anhui 发表于 2014-6-19 14:35
我希望ST公司人测试测试,是不是这样的,尽管我可以换一个IO,可以解决,但我想知道原因 ...



按键一次出现多次响应?
1.中断多次??
2.查询到多次??

芯片不会这么脆弱

使用特权

评论回复
10
cym_anhui|  楼主 | 2014-6-20 13:18 | 只看该作者
icecut 发表于 2014-6-19 16:51
按键一次出现多次响应?
1.中断多次??
2.查询到多次??

对,我查询到多次按键,按键子程序都一样的,其他PORTC 没有这种情况

使用特权

评论回复
11
香水城| | 2014-6-20 17:46 | 只看该作者
马克

使用特权

评论回复
12
seeokok| | 2015-4-10 10:20 | 只看该作者
问题解决了吗?怎么解决的能说一下嘛?
我也碰到了这个问题,不过我PC3是作为输出来用的,没有任何反映。
查手册:PC13可作为RTC实时时钟的输入输出用的。如果RTC_TAFCR寄存器全0,PC13可作为标准IO口使用,但GPIOC寄存器却无法配置进去,造成PC13无法使用。
哪位知道原因?请给予解惑,谢谢!

使用特权

评论回复
13
seeokok| | 2015-4-10 11:00 | 只看该作者
解决了,原因是没开C 口时钟。

使用特权

评论回复
14
gmm2015| | 2015-4-13 16:12 | 只看该作者

使用特权

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

本版积分规则

84

主题

485

帖子

4

粉丝