• IMX51+WINCE6.0平台缩写意义


    1.以EPIT为例

    EPIT(Enhanced Periodic Interrupt Timer)为增强型周期中断定时器,其中有CR控制寄存器,要设置CR寄存器的SWR位,代码如下:

    // Assert software reset for the timer
        OUTREG32(&pEPIT->CR, CSP_BITFMASK(EPIT_CR_SWR));

    其中CSP_BITFMASK宏定义如下:

    #define CSP_BITFMASK(bit) (((1U << (bit ## _WID)) - 1) << (bit ## _LSH))

    这里的bit就是EPIT_CR_SWR,结合宏定义,可知此宏定义相当于下面的定义:

    #define CSP_BITFMASK(bit) (((1U << (EPIT_CR_SWR_WID)) - 1) << (EPIT_CR_SWR _LSH))

    WINCE6.0 BSP包中大部分都是这样对寄存器进行操作,这里的WID是指SWR位的宽度(WIDTH),因为CR的SWR域只有一位,所以EPIT_CR_SWR_WID=1;EPIT_CR_SWR _LSH(LSH表示LEFT SHIT左移)表示CR寄存器SWR域在寄存器中的位置(CR[16]),所以EPIT_CR_SWR _LSH=16

    在这方面,飞思卡尔在对寄存器控制代码比三星的规范,但要定义好很多宏。


  • 相关阅读:
    msql 计算连续签到天数
    jetty启动常用命令
    nginx负载均衡, 配置地址带端口
    IDEA java 代码格式化统一
    Linux下安装Zookeeper
    nexus admin 从文件角度进行密码重置
    Monkey测试
    接口测试
    我的IT之路
    cookie 操作(转载)
  • 原文地址:https://www.cnblogs.com/LoongEmbedded/p/5298599.html
Copyright © 2020-2023  润新知