cancel
Showing results for 
Search instead for 
Did you mean: 

Why do we have 2 separate functions, DMA_ClearFlag and DMA_ClearITPendingBit, since they are totally the same?

NTric.1
Associate II

Dear,

These 2 functions are almost the same, the difference is the const DMA_FLAG_TCIFx and DMA_IT_TCIFx. However, when AND with the RESERVED_MASK (0x0F7D0F7D), it becomes the same. This also happens with EXTI_ClearFlag  and EXTI_ClearITPendingBit.

For example,

DMA_FLAG_TCIF0 (0x10000020) AND (0x0F7D0F7D) = 0x20 = DMA_IT_TCIF0 (0x10008020) AND (0x0F7D0F7D)

DMA_FLAG_FEIF4 (0x20000001) AND (0x0F7D0F7D) = 1 = DMA_IT_FEIF4 (0xA0000001) AND (0x0F7D0F7D)

The code of these 2 functions:

0693W000007ZS1ZQAW.png0693W000007ZS1UQAW.png 

Thank you for figuring me out.

Trico.

  

1 REPLY 1
NTric.1
Associate II

Please anyone help me figure this.