2025-07-16 2:03 PM - edited 2025-07-16 3:13 PM
I'm working with an STM32H735 Discovery board. I have DFSDM working via the STMOD+ connector. I'm currently designing a PCB that will plug into the Arduino header to better connectorize our PDM mics, add a few additional parts, etc. and move all DFSDM signals to PC0, PB14, and PC2 (on the Arduino header).
But I've discovered that even though I can assign DFSDM1_CKOUT to pin PC2, I'm not seeing the clock signal. I can set the pin as a GPIO out and toggle it just fine, so I've verified it comes to the right pin on the Arduino header. PC2 drives the on-board user LED LD2. Is it the situation that the DFSDM peripheral can't drive the clock signal with the LED and 680R resistor pulling the line high? Thing is, the line stays low; I'd think in DFSDM mode it'd have trouble pulling the line low if it were a situation of the LED+resistor acting as a strong pull-up.
I'd considered removing R143 or LD2, but the fact that the line stays low makes me think that's not the issue.
Solved! Go to Solution.
2025-07-16 4:39 PM - edited 2025-07-16 4:54 PM
Follow up:
I removed R143, and closed the analog switch to connect PC2 to PC2_C, now I can see the clock signal on the header.
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC2, SYSCFG_SWITCH_PC2_CLOSE);
2025-07-16 4:39 PM - edited 2025-07-16 4:54 PM
Follow up:
I removed R143, and closed the analog switch to connect PC2 to PC2_C, now I can see the clock signal on the header.
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC2, SYSCFG_SWITCH_PC2_CLOSE);