volatile用于必须去 内存 中拿数的场景,

    DMA搬运正好是从一个内存地址搬到另一个内存地址。

    此时 volatile 就派上用场了

    1. typedef volatile struct DMA_CH
    2. {
    3. Ifx_DMA_CH_SADR SADR; /*DMA Channel Source Address Register */
    4. Ifx_DMA_CH_DADR DADR; /*DMA Channel Destination Address Register x */
    5. Ifx_DMA_CH_ADICR ADICR; /*DMA Channel Address and Interrupt Control Register x */
    6. }DMA_CH;

    整个结构体的成员变量都是 volatile 类型的。