我是靠谱客的博主 笑点低康乃馨,最近开发中收集的这篇文章主要介绍C2000dsp库新的寄存器控制方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

//*****************************************************************************
static inline void
SysCtl_enablePeripheral(SysCtl_PeripheralPCLOCKCR peripheral)
{
    uint16_t regIndex;
    uint16_t bitIndex;

    //peripheral =0x1200
    //SYSCTL_PERIPH_BIT_M = 0x001FU
    //SYSCTL_PERIPH_BIT_S = 0x0008U
    // Decode the peripheral variable.
    //
    regIndex = (uint16_t)2U * ((uint16_t)peripheral &
                               (uint16_t)SYSCTL_PERIPH_REG_M);
    //bitIndex = (0x1200 & 0x001F) >> 0x0008U =0x12 =18
    //新版的配置普遍采用这种方式,下面这句话的目的是要给某个寄存器赋值1,那么就要算出把1移动多少位
    //才能到该寄存器的该位所在的位置
    bitIndex = ((uint16_t)peripheral & SYSCTL_PERIPH_BIT_M) >> SYSCTL_PERIPH_BIT_S;
   

    EALLOW;

    //
    // Turn on the module clock.
    //
    HWREG(CPUSYS_BASE + SYSCTL_O_PCLKCR0 + regIndex) |=
        ((uint32_t)1U << bitIndex);
    EDIS;
}

最后

以上就是笑点低康乃馨为你收集整理的C2000dsp库新的寄存器控制方式的全部内容,希望文章能够帮你解决C2000dsp库新的寄存器控制方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部