zoukankan      html  css  js  c++  java
  • 【笔记】对volatile关键字在DSP中的理解

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

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

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

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

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

    高调做事,低调做人

  • 相关阅读:
    keepass口令管理实践
    openssl实践
    Nmap
    SSH
    Wireshark 实践
    网站设计
    python database
    python gui
    Excel数据统计与分析
    2020-2021学期20202401金丁《网络空间安全专业导论》第十三周自学总结
  • 原文地址:https://www.cnblogs.com/oneseven/p/1691220.html
Copyright © 2011-2022 走看看