title: STM32 HAL DMA interrupt does not fire
body: <p>I'm doing an STM32 HAL course.</p>
  
  <p>In the section "Direct Memory Access (DMA)", the interrupt doesn't get fired on completion of the DMA transfer.
  In polling mode all works fine.
  I use a Nucleo-F746ZG, my code is on github: <a href="https://github.com/bkht/STM32-HAL-DMA-Interrupt" rel="nofollow noreferrer">https://github.com/bkht/STM32-HAL-DMA-Interrupt</a></p>
  
  <p>What could I check to fix this?</p>
  
  <p>When setting up the callback function, does it need to go before calling HAL_DMA_Init?
  Or can it be done just before starting the DMA transfer with HAL_DMA_Start?
  Also, I do see the &amp; sometimes, referring to the function address, I tried it, but it didn't make a difference.
  What should be used, <code>&amp;</code> or <code>not</code>?</p>
  
  <pre><code>/* Setup callbacks, not sure this can be done without HAL_DMA_Init */
  hdma_memtomem_dma2_stream0.XferCpltCallback = &amp;XferCpltCallback;
  </code></pre>