打印

请问STM32的PC13怎样设为输入方式?

[复制链接]
9842|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
g346|  楼主 | 2013-5-12 14:37 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOC, &GPIO_InitStructure);
PC13引脚是高电平,读入的却是0.
沙发
g346|  楼主 | 2013-5-12 23:38 | 显示全部楼层
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

使用特权

评论回复
板凳
g346|  楼主 | 2013-5-13 10:49 | 显示全部楼层
ljxh401 发表于 2013-5-13 10:22
要先开时钟 呵呵
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

时钟是开了的,但不行

使用特权

评论回复
地板
g346|  楼主 | 2013-5-13 10:50 | 显示全部楼层
grasswolfs 发表于 2013-5-13 09:23
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

GPIO_InitStructure.GPIO_Pin        = GPIO_Pin_13

程序就如你写的一样,但就是不行呢

使用特权

评论回复
5
g346|  楼主 | 2013-5-13 10:55 | 显示全部楼层
mmuuss586 发表于 2013-5-13 08:26
程序不对吧。
                GPIO_InitTypeDef  GPIO_InitStructure;
       

RCC_AHB1PeriphClockCmd是不能设置GPIO端口的,只有RCC_AHB2PeriphClockCmd才行,不知你用的是什么固件库,另stm32也没有GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;这样的设置项。

使用特权

评论回复
6
g346|  楼主 | 2013-5-13 12:23 | 显示全部楼层
njchenmin 发表于 2013-5-13 12:05
看看是不是设置到第二功能上了

应该不会的,因为我换为PA8就一点问题也没有。

使用特权

评论回复
7
g346|  楼主 | 2013-5-13 13:07 | 显示全部楼层
mmuuss586 发表于 2013-5-13 12:41
难道是芯片BUG,应该不大可能啊。
你用的什么型号,我用的F4

STM32F103,应该不会是芯片的问题,而是PC13脚有些特别,可能还是设置上的问题。

使用特权

评论回复
8
g346|  楼主 | 2013-5-13 20:05 | 显示全部楼层
grasswolfs 发表于 2013-5-13 16:34
外面硬件上的连接有特别的地方么?

电路板就是火牛实验板,外面就接一个按键,PC14、PC15接一32768晶振。

使用特权

评论回复
9
g346|  楼主 | 2013-5-14 09:51 | 显示全部楼层
grasswolfs 发表于 2013-5-13 21:52
可以建议把管脚时钟设置为2MHz再试一下

是的,我也查过手册(同一时间,三个引脚中只有一个引脚能作为输出引脚,但没说作为输入的情况,也就是说用作输入应该没问题),使用2MHz试过,情况还是一样

使用特权

评论回复
10
g346|  楼主 | 2013-5-15 14:26 | 显示全部楼层
grasswolfs 发表于 2013-5-14 09:54
给香版主发个私信吧,或者问一下stm的技术支持吧,这个管脚的复用功能很特殊,所以用法比较特别,平常用 ...

终于查到问题了,是把GPIO_Configuration();放错位置了。谢谢各位热心网友支持与帮助!

使用特权

评论回复
11
g346|  楼主 | 2013-5-15 15:57 | 显示全部楼层
是阿,因为我的试验程序比较长,是ucosii多个任务,所以犯了个低级错误,不好意思。

使用特权

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

本版积分规则

3

主题

14

帖子

0

粉丝