概述
//*****************************************************************************
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库新的寄存器控制方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复