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

[复制链接]
10445|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.
hawksabre 发表于 2013-5-12 18:04 | 显示全部楼层
不是很了解   这一块   帮你顶一个   看看别人的意见   
hawksabre 发表于 2013-5-12 18:05 | 显示全部楼层
个人认为应该问题不是很大   呵呵   顶一个
jiaxinhui 发表于 2013-5-12 20:44 | 显示全部楼层
GPIOC端口的时钟开启了吗
 楼主| g346 发表于 2013-5-12 23:38 | 显示全部楼层
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
ticomi 发表于 2013-5-13 08:19 | 显示全部楼层
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;                        //输入模式
然后看看有没有开C端口的时钟?
mmuuss586 发表于 2013-5-13 08:26 | 显示全部楼层
程序不对吧。
                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);
grasswolfs 发表于 2013-5-13 09:23 | 显示全部楼层
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);
ljxh401 发表于 2013-5-13 10:22 | 显示全部楼层
要先开时钟 呵呵
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

程序就如你写的一样,但就是不行呢
 楼主| 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;这样的设置项。
zzz316 发表于 2013-5-13 11:50 | 显示全部楼层
你检查下你的电路,这个IO管脚是否外接了上拉电阻或者下拉,根据实际情况设置管脚的输入方式
njchenmin 发表于 2013-5-13 12:05 | 显示全部楼层
看看是不是设置到第二功能上了
 楼主| g346 发表于 2013-5-13 12:23 | 显示全部楼层
njchenmin 发表于 2013-5-13 12:05
看看是不是设置到第二功能上了

应该不会的,因为我换为PA8就一点问题也没有。
ETjason 发表于 2013-5-13 12:29 | 显示全部楼层
你是不是端口被复用了?
mmuuss586 发表于 2013-5-13 12:41 | 显示全部楼层
难道是芯片BUG,应该不大可能啊。
你用的什么型号,我用的F4
 楼主| g346 发表于 2013-5-13 13:07 | 显示全部楼层
mmuuss586 发表于 2013-5-13 12:41
难道是芯片BUG,应该不大可能啊。
你用的什么型号,我用的F4

STM32F103,应该不会是芯片的问题,而是PC13脚有些特别,可能还是设置上的问题。
ty20130510 发表于 2013-5-13 14:15 | 显示全部楼层
专业代理分销ST/FSC/UTC/TOREX/TI电源管理IC,MOS管,功放IC,LCD/LED驱动IC
深圳市韬裕科技有限公司
电      话:075581786738/28187039/28184980
联系人: Tina Fang
移动电话:13925274612
传      真:0755 81786745
地      址:中国 广东 深圳市宝安区 民治街道民治大道民泰大厦1025室

grasswolfs 发表于 2013-5-13 16:34 | 显示全部楼层
g346 发表于 2013-5-13 13:07
STM32F103,应该不会是芯片的问题,而是PC13脚有些特别,可能还是设置上的问题。 ...

外面硬件上的连接有特别的地方么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部