Solved
STM32H743 has QSPI_IOs not in High Impedance Mode when Configured as Input
# STM32H743 has QSPI_IOs not in High Impedance Mode when Configured as Input
Hi Everyone,
I am trying to use the QUADSPI Block 2 on the STM32H743. The QUADSPI_BK2_IO0 to IO3 are connected to PE7 to PE10 ont LQFP-144 package (I am using the Nucleo-H743ZI2).
However, when I put the QUADSPI Peripheral into indirect read mode, the QUADSPI_BK2_IO0 Pin is not high impedance, and when shorted with a Digital Multimeter to 3V3, I measure about 100 to 200 mA of current.
In normal operation, this causes my slave device (which is an ADC) to drop it's logic level to about 1V, as it has an internal LDO an can only supply 10mA per pin with transients of up to 100 mA.
Why does the QUADSPI_BK2_IO0 not stay in High-Impedance-Mode, even though it is configured as an input?
My QUADSPI_CCR register is not 0x00000000, so 2.9.3 from the errata sheet is not an issue. It is however 0, except for three values: for DCYC which is 00010, so two dummy cycles, in order to apply workaround 2.9.2 from the errata sheet, for DMODE, which is 11, so four data lines, and FMODE, which is 01, so indirect read Mode.
IMODE, ADMODE, ABMODE etc. are 0, so the peripheral should not output anything and be read-only, and it is actually reading some data into the data register.
However, the inputs are not high-impedance, so the ADCs output level is below the logic level threshold, as the MCU is putting serious load on the ADC outputs. I checked the Nucleo-144 schematics and nothing weird is connected to those pins, and the same behaviour is observed when I disconnect everything from the Nucleo board to rule out any other source of error.
Does anybody have an idea why this is occuring?

