• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

GPIO口配置问题?

梦想狂人 2018-05-04 浏览量:751

stm32f4的GPIO端口配置为输出低电平,但是实际测量输出电压为1.78V。

程序如下:

void Io_Init(void)
{             
  GPIO_InitTypeDef  GPIO_InitStructure;
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA ENABLE);
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;-
  GPIO_Init(GPIOA &GPIO_InitStructure);
  GPIO_ResetBits(GPIOA GPIO_Pin_6 | GPIO_Pin_7);
}


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这是由于你设置了内部的上拉的原因,所以才会有电压的。

其他答案 数量:8
  • 你贴出的程序有问题吧

    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;-
    是不是输入错误了?

  • 外面接个上拉电路,分析是不是处于输入模式,这种电平很有可能处于高阻值状态

  • 先确定下测量点有没有搞错,另外看外部电路负载对不对,负载耗电过大也会导致电平拉不下来。还要看程序有没有其他地方对管脚重初始化为其他功能,最好进入调试状态看下GPIO的寄存器界面,看配置状态对不对。

  • 这种有可能是芯片处于输入模式,一般只有高阻态的情况下才会出现输出1.8V这种非高电平也非低电平的情况

  • 你的程序设置了上拉输出,你仔细检查一下你的电路是不是有下拉电路,把电压分压了

  • 首先你贴出的代码已经编译错误了,其次你的配置与你的外围电路是否一致
    • 发布于2018-05-14
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

GPIO口配置问题?