打印
[应用相关]

PC13怎样设为输入方式?

[复制链接]
2127|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanglli|  楼主 | 2014-10-31 10:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pc, pi, IO, GPIO, gp
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.
沙发
lium| | 2014-10-31 10:27 | 只看该作者
个人认为应该问题不是很大   呵呵   顶一个

使用特权

评论回复
板凳
guoyt| | 2014-10-31 10:30 | 只看该作者
GPIOC端口的时钟开启了吗

使用特权

评论回复
地板
hanwe| | 2014-10-31 10:31 | 只看该作者
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

使用特权

评论回复
5
yufe| | 2014-10-31 10:33 | 只看该作者
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;                        //输入模式
然后看看有没有开C端口的时钟?

使用特权

评论回复
6
lium| | 2014-10-31 10:34 | 只看该作者
程序不对吧。
                 GPIO_InitTypeDef  GPIO_InitStructure;
         
        // GPIO Periph clock enable
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA
                                                                                                 |RCC_AHB1Periph_GPIOB
                                                                                                 |RCC_AHB1Periph_GPIOC
                                                                                                 |RCC_AHB1Periph_GPIOD
                                                                                                 |RCC_AHB1Periph_GPIOE, ENABLE);
         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;                                 
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
         GPIO_Init(GPIOC, &GPIO_InitStructure);

使用特权

评论回复
7
llia| | 2014-10-31 10:35 | 只看该作者
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

GPIO_InitStructure.GPIO_Pin        = GPIO_Pin_13
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        
GPIO_Init(GPIOC, &GPIO_InitStructure);

使用特权

评论回复
8
langgq| | 2014-10-31 10:37 | 只看该作者
要先开时钟 呵呵
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

使用特权

评论回复
9
zhanglli|  楼主 | 2014-10-31 10:37 | 只看该作者

时钟是开了的,但不行

使用特权

评论回复
10
wangzsa| | 2014-10-31 10:38 | 只看该作者
你检查下你的电路,这个IO管脚是否外接了上拉电阻或者下拉,根据实际情况设置管脚的输入方式

使用特权

评论回复
11
zhanglli|  楼主 | 2014-10-31 10:41 | 只看该作者

RCC_AHB1PeriphClockCmd是不能设置GPIO端口的,只有RCC_AHB2PeriphClockCmd才行,不知你用的是什么固件库

使用特权

评论回复
12
zhanglli|  楼主 | 2014-10-31 10:41 | 只看该作者
另stm32也没有GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;这样的设置项。

使用特权

评论回复
13
lium| | 2014-10-31 10:42 | 只看该作者
看看是不是设置到第二功能上了

使用特权

评论回复
14
tian111| | 2014-10-31 10:44 | 只看该作者
你是不是端口被复用了?

使用特权

评论回复
15
zhanglli|  楼主 | 2014-10-31 10:47 | 只看该作者
lium 发表于 2014-10-31 10:42
看看是不是设置到第二功能上了


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

使用特权

评论回复
16
tian111| | 2014-10-31 10:49 | 只看该作者
难道是芯片BUG,应该不大可能啊。
你用的什么型号,我用的F4

使用特权

评论回复
17
zhanglli|  楼主 | 2014-10-31 10:51 | 只看该作者

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

使用特权

评论回复
18
宋倩2010| | 2014-10-31 10:53 | 只看该作者

外面硬件上的连接有特别的地方么?

使用特权

评论回复
19
zhanglli|  楼主 | 2014-10-31 10:55 | 只看该作者

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

使用特权

评论回复
20
gongche| | 2014-10-31 10:58 | 只看该作者

通过查询手册发现:
PC13,PC14和PC15引脚通过电源开关进行供电,因此这三个引脚作为输出引脚时有以下限制:
作为输出脚时只能工作在2MHz模式下
最大驱动负载为30pF
同一时间,三个引脚中只有一个引脚能作为输出引脚。

使用特权

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

本版积分规则

1016

主题

9386

帖子

1

粉丝