G473 ADC crosstalk
Hello. Have some issues with MCU ADC configuration and data.
Hardware:
- MCU: STM32G473MET3
- ICs: BTS70401 smart high-side switches (2 channels on ADC4)
SW1: PE15 = ADC4_IN2
SW2: PD9 = ADC4_IN13
Problem:
When both channels enabled, ADC reads ~3000 instead of ~4095 during short circuit. Single channel reads correctly (4095).
Attempts Made:
1. ADC Configuration:
- Changed ContinuousConvMode from ENABLE → DISABLE
- Added ADC calibration at startup
- Changed Overrun from OVERWRITTEN → PRESERVED
- sampling times 12-600 cycles
2. Channel Multiplexing:
- Double-read technique (discard first, use second)
- Triple-read with dummy conversions
- Excessive delays (50-640 cycles) - no improvement
Question:
is there a real 100 % code line that guarantees ADC channel samples only its pin voltage?
Thank you.
