• 【笔记】对volatile关键字在DSP中的理解


    DSP将寄存器变量都映射到相应的寄存器地址,因此经常会见到这样声明的语句:

    volatile struct EPWM_REGS *ePWM[PWM_CH] =
                 {  
    &EPwm1Regs, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs};

    那么,为什么需要volatile 这个关键字呢?

    该单词的意思是可变的,易变的。在DSP中,一些寄存器的值的变化有两种情况:(1)硬件上导致的变化,例如中断、ADC等;(2)软件上的变化,例如对某个变量赋值等。

    当加入了关键字volatile,则表示该变量的值可因上述两种情况而发生变化;即,对软件来说,硬件上变化的值是不可预知的,加入了该关键字,提示编译器每次读取该变量时,都要直接读取该变量地址中的寄存器!

    高调做事,低调做人

  • 相关阅读:
    MongoDB 与 MySQL 性能比较
    PySpider简易教程
    使用redis有什么缺点
    禅道
    Shell02
    Shell01
    性能测试06
    性能测试05
    性能测试04
    性能测试03
  • 原文地址:https://www.cnblogs.com/oneseven/p/1691220.html
Copyright © 2020-2023  润新知