[STM32F0] stm32f051r8 pc13不能作为按键读

[复制链接]
 楼主| 发表于 2014-6-13 11:32 | 显示全部楼层 |阅读模式
实验时,发现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);  

发表于 2014-6-13 12:23 | 显示全部楼层
本帖最后由 mmuuss586 于 2014-6-13 12:40 编辑


程序没啥问题啊;
端口定义发上来看看;
发表于 2014-6-13 12:52 | 显示全部楼层
我测试了下

输入接地测试结果



输入接高电平测试结果


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2014-6-16 08:17 | 显示全部楼层
mmuuss586 发表于 2014-6-13 12:23
程序没啥问题啊;
端口定义发上来看看;

GPIO_KEY_PORT  == PORTC
SET_KEY_PIN   == PC.13
 楼主| 发表于 2014-6-16 09:03 | 显示全部楼层
对不起,各位,是按一次,出来多次键,其他端口不这样的,再不行,我要换个IO了
 楼主| 发表于 2014-6-19 14:34 | 显示全部楼层
有人测试过嘛?
 楼主| 发表于 2014-6-19 14:34 | 显示全部楼层
有人测试过嘛?
 楼主| 发表于 2014-6-19 14:35 | 显示全部楼层
我希望ST公司人测试测试,是不是这样的,尽管我可以换一个IO,可以解决,但我想知道原因
发表于 2014-6-19 16:51 | 显示全部楼层
cym_anhui 发表于 2014-6-19 14:35
我希望ST公司人测试测试,是不是这样的,尽管我可以换一个IO,可以解决,但我想知道原因 ...



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

芯片不会这么脆弱
 楼主| 发表于 2014-6-20 13:18 | 显示全部楼层
icecut 发表于 2014-6-19 16:51
按键一次出现多次响应?
1.中断多次??
2.查询到多次??

对,我查询到多次按键,按键子程序都一样的,其他PORTC 没有这种情况
发表于 2014-6-20 17:46 | 显示全部楼层
马克
发表于 2015-4-10 10:20 | 显示全部楼层
问题解决了吗?怎么解决的能说一下嘛?
我也碰到了这个问题,不过我PC3是作为输出来用的,没有任何反映。
查手册:PC13可作为RTC实时时钟的输入输出用的。如果RTC_TAFCR寄存器全0,PC13可作为标准IO口使用,但GPIOC寄存器却无法配置进去,造成PC13无法使用。
哪位知道原因?请给予解惑,谢谢!
发表于 2015-4-10 11:00 | 显示全部楼层
解决了,原因是没开C 口时钟。
发表于 2015-4-13 16:12 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

84

主题

490

帖子

4

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