如标题:现在在写代码过程中,有一段代码不太懂,如下图所示:
其可复制版本如下?
/* Unlock the control register */
CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERLOCK, DEV_PERLOCK_LOCKVAL,
UNLOCK);
/* Enable the GPIO */
CSL_FINST(((CSL_DevRegs*)CSL_DEV_REGS)->PERCFG0, DEV_PERCFG0_GPIOCTL,
ENABLE);
do {
gpioEn = (Bool) CSL_FEXT(((CSL_DevRegs*)CSL_DEV_REGS)->PERSTAT0,
DEV_PERSTAT0_GPIOSTAT);
} while (gpioEn != TRUE);
printf("Powersaver clock for GPIO is enabled\n");
以上代码干了啥事?如果一直在do while循环,这个代表了啥?
Shine:
请结合C6455_CSL_APIREFERENCE.pdf看代码。
郭颖:
回复 Shine:
谢谢你的回答,自己没看懂是啥,所以来问问,如果没有好的答案只能再瞅瞅其他的了。谢谢
Shine:
回复 郭颖:
代码前面有注释
/* Unlock the control register */ /* Enable the GPIO */
再结合GPIO user guide看具体寄存器的含义。
郭颖:
回复 Tony Tang:
谢谢你的回答。非常详细,十分感谢。