Skip to main content
Graduate
September 17, 2023
Solved

GPIO outputs are in high-impedance state

  • September 17, 2023
  • 3 replies
  • 5584 views

I have two of the STM32H747I-DISCO boards. I have used STM32CubeIDE to create a simple project for the boards. I followed AN5361 and am able to debug and see the CM7 and CM4 cores running.

I've added code to toggle the board LEDs (port I) but don't see any activity - even with an oscilloscope. The IDE did create the code to enable the GPIO clock (__HAL_RCC_GPIOI_CLK_ENABLE() ).

I didn't have any trouble getting blinking LEDs on my STM32F407G-DISC1 boards.

The issue seems to be that the four GPIO pins for the LEDs are in a high-impedance state even though Pinout View shows that they're all configured as outputs. The pins are floating at between 1V and 2V (with the scope probe weakly pulling to GND). I can alter the voltage on the pins by connecting a 100k resistor from a pin to either 3.3V or GND, so they're definitely floating.

I suspect that there is a clocking issue to GPIO Port I, but I'm new to the STM world and don't know where to start.

Can someone please point me in the right direction?

    This topic has been closed for replies.
    Best answer by AScha.3

    did you assign the core, thats setting the port, in Cube to this port ? (iirr the blue area F4 and F7 )

    3 replies

    Graduate II
    September 17, 2023

    For GPIOs that configuration as Output that it has many type of configuration such as Push-Pull or open-drain
    and you should set initial state of them too. 

    But it's never go to 0 volt on every stage because it's drive by High-side and Low-side transistor which they has voltage on Vce and it's about 1 voltage.

    AScha.3Answer
    Super User
    September 17, 2023

    did you assign the core, thats setting the port, in Cube to this port ? (iirr the blue area F4 and F7 )

    Graduate
    September 17, 2023

    YES! That was the problem. In the IDE -> Pinout & Configuration -> GPIO -> then for a given pin -> Pin Context Assignment --> change from "Free" to "ARM Cortex-M7".

    Thanks much.

    Super User
    September 17, 2023

    Probably something isn't configured right in the IOC file. Attach it if you can.