初级会员

- 积分
- 170
- 金钱
- 170
- 注册时间
- 2018-8-3
- 在线时间
- 48 小时
|
1金钱
SDIO_SetPowerState(SDIO_PowerState_ON); //上电状态,开启卡时钟,power寄存器
SDIO_ClockCmd(ENABLE);//SDIOCK使能 、、???????
同样都是要操作一个寄存器的某一位。这俩函数写法为什么不同呢,尤其是第二个
为什么不写成SDIO->CLKCR|=1<<8; //SDIOCK使能
而是弄了一堆地址。一层一层得到了一个我也不会看懂得地址,那个地址是SDIO->CLKCR寄存器吗?
一、
void SDIO_SetPowerState(uint32_t SDIO_PowerState)
{
/* Check the parameters */
assert_param(IS_SDIO_POWER_STATE(SDIO_PowerState));
SDIO->POWER &= PWR_PWRCTRL_MASK;
SDIO->POWER |= SDIO_PowerState;
}
二、
void SDIO_ClockCmd(FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_FUNCTIONAL_STATE(NewState));
*(__IO uint32_t *) CLKCR_CLKEN_BB = (uint32_t)NewState;
}
|
|