我是靠谱客的博主 笑点低康乃馨,这篇文章主要介绍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库新内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部