为什么STM32F4-Discovery GPIO始终为高?

2019-07-14 17:45发布

我正在使用STM32F4-Discovery板做一些工作,我试图从GPIO引脚中获得一些简单的用法。然而,我有一个奇怪的问题,我不知道如何解决。我使用IAR Embedded Workbench作为我的IDE,出于某种原因,我似乎能够启用的唯一GPIO引脚是B-Bus上的那些。如果我在任何其他总线上启用引脚并将引脚设置为高电平和低电平,我连接的电压表不会注册任何东西。此外,电路板上有几个引脚似乎卡在高电压下,这对我来说似乎很奇怪。在我启用它们之前,有些引脚输出~3V,或者将它们设置为高电平。这些针脚坏了吗?或者有没有办法将它们设置得低?试图启用GPIO引脚并将其设置为低电平对我来说没有用,所以我不确定这里要怎么做
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
riverdj
2019-07-14 22:51
确保正确配置引脚
  1. {
  2.     RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
  3.     GPIO_InitTypeDef GPIO_InitStructure;
  4.     GPIO_InitStructure.GPIO_Pin =   GPIO_Pin_0 |
  5.                             GPIO_Pin_1 |
  6.                             GPIO_Pin_2 |
  7.                             GPIO_Pin_3 |
  8.                             GPIO_Pin_4 |
  9.                             GPIO_Pin_5 |
  10.                             GPIO_Pin_6 |
  11.                             GPIO_Pin_7;
  12.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  13.     GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  14.     GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  15.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  16.     GPIO_Init(GPIOB,&GPIO_InitStructure);
  17. }
复制代码
然后写入端口。您也可以将引脚烧坏或ESD引脚,尝试几个不同的端口引脚。
STM32F通常在唤醒/复位时将其端口配置为高阻抗,使用高阻抗测量仪可以测量任何内容,而无需将引脚设置为确定的输出。如果你把一个外部20k下拉到地并仍然测量3.3V,那么我相信你的仪表。

一周热门 更多>