STM32H743VIT Dual ADC Mode Regular Sequential Not Working for Me
I've been over and over RM0433 regarding how to set this mode up and I've never been able to get data from ADC2. ADC1 acts a bit oddly in that my reading says that 16 bit ADC results from both ADC1 and ADC2 are packed together in one uint32_t location. But in my work, I've seen only values from ADC1 (I have variable DC voltages from 0 to 3.3 on 4 ADC1 pins and 2 ADC2 pins). While I mentioned that I have voltages on only 2 of the ADC2 pins, ADC2 is set to convert 4 values as is ADC1. The data from ADC1 is packed as if it came from both ADC1 and ADC2, but I've verified that it's all coming from ADC1 pins. "Packed" as in two 16 bit values are in a 32 bit location and change when the external voltage is changed. EDIT ADD: This happened because I was using HALFWORD instead of WORD. Once I changed the DMA data width back to WORD, I see two 32 bit buffers that have activity, the others are constant zero. The high 16 bits appear to be noise, the low 16 bits are two of the ADC1 inputs.
I used STM32CubeMX to generate a Makefile project for this purpose.
I use software trigger (ADC_SOFTWARE_START), two DMA channels, no oversampling and I currently trigger only 5 times per second. I start the DMA with HAL_ADCEx_MultiModeStart_DMA() only on ADC1.
I am working with HAL, and though I can't see in RM0433 what I'm doing wrong, I know that I must be.
Things I am confused about is when to use WORD and when to use HALFWORD when using 16 bit ADC values in dual ADC mode for regular simultaneous conversions.
Information on the web is as to be expected of dubious value, much of it showing wrong ways to do things and then never following up with what fixed the problem.
Any help with this is greatly appreciated.
