社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 450|回复: 5

[求助] STM32F407 端口B普通输入设置

[复制链接]

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-6-19 19:14:09 | 显示全部楼层 |阅读模式
STM32F407 端口B普通输入设置,应该怎么设置,我设置出来上电默认就是高电平了,应该是低电平等待
GPIO_InitTypeDef  GPIO_InitStructure;
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|
                               RCC_AHB1Periph_GPIOB|
                               RCC_AHB1Periph_GPIOC|
                               RCC_AHB1Periph_GPIOD|
                               RCC_AHB1Periph_GPIOE|
                               RCC_AHB1Periph_GPIOF|
                               RCC_AHB1Periph_GPIOG , ENABLE);//使能GPIOA-GPIOG的时钟
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_15;//
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//普通输入模式
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100M
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOB        
上电GB6,GB7,GB12为高电平,GB13,GB15为低电平,这是为什么?我没有做其他操作。。               

此帖出自stm32/stm8论坛

回复

使用道具 举报

3825

TA的帖子

8

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

测评达人

发表于 2017-6-19 21:22:17 | 显示全部楼层
你只是初始化为输入了啊。并没有设置其电平对吧。这个有可能是它复位后的初始电平哦。。。。。

回复

使用道具 举报

455

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2017-6-20 11:21:08 | 显示全部楼层
端口上拉只是在端口浮动状态时候起稳定作用,没有很强的驱动能力,当输入端口有信号输入时会跟着信号走,你现在的状态有两种可能,一种是你软件后面又设置了,换句话说代码写错, 我经常复制代码忘了修正。另外一种就是你外面接东西了。

回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-6-22 10:28:09 | 显示全部楼层
我将输入模式改为下拉输入,上电就没有高电平了。不过检测电压的时候1.5V左右的电压检测不到。。。

回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-6-22 13:51:14 | 显示全部楼层
supermiao123 发表于 2017-6-20 11:21
端口上拉只是在端口浮动状态时候起稳定作用,没有很强的驱动能力,当输入端口有信号输入时会跟着信号走,你 ...

什么都没有接全部下下来了。。还是一样
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3|GPIO_Pin_4 | GPIO_Pin_5|GPIO_Pin_6 |
                                      GPIO_Pin_7|GPIO_Pin_8 | GPIO_Pin_9|GPIO_Pin_10 | GPIO_Pin_11|
                                                                                                                                GPIO_Pin_12 | GPIO_Pin_13|GPIO_Pin_14 | GPIO_Pin_15;//
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//普通输入模式
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100M
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOG, &GPIO_InitStructure);//初始化GPIO
一组配置了这么多IO,只有一个不正常,上电就有3.2V了。。。

回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-6-26 16:52:37 | 显示全部楼层
1,查看datasheet 端口B复位之后的默认值,
2,检查你的板卡,GB6,7,12,13,15,分别连接到什么位置上的,确认连接到的所有位置电平,

【迎新感恩活动二】 领取评测任务,免费体验NUCLEO-L452RE开发套件
http://bbs.eeworld.com.cn/thread-531732-1-1.html

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-10-23 14:05 , Processed in 0.226905 second(s), 15 queries , Redis On.

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