Skip to main content
Anderson.Steven
Visitor II
October 13, 2015
Question

STM32F4xx Example code bug?

  • October 13, 2015
  • 1 reply
  • 534 views
Posted on October 13, 2015 at 15:32

In file: 

...\STM32F4xx_DSP_StdPeriph_Lib_V1.6.0\Project\STM32F4xx_StdPeriph_Examples\ADC\ADC_TripleModeInterleaved\main.c

Is DMA_Memory0BaseAddr really intended to be a pointer to a pointer?

The variable aADCTripleConvertedValue is an array of 3 uint32_t's, so should (uint32_t)&aADCTripleConvertedValue below need a ''[0]'' appended?

From the file:

Declaration:

/* Private variables ---------------------------------------------------------*/

__IO uint32_t aADCTripleConvertedValue[3];

Use:

  DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&aADCTripleConvertedValue;

    This topic has been closed for replies.

    1 reply

    Tesla DeLorean
    Guru
    October 13, 2015
    Posted on October 13, 2015 at 18:16

    Actually, all three of these resolve to the same address

    DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)aADCTripleConvertedValue;

    DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&aADCTripleConvertedValue;

    DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&aADCTripleConvertedValue[0];

    I'd prefer case 3, over 1, but I think you'll find there are all valid.

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..