新手上路
- 积分
- 44
- 金钱
- 44
- 注册时间
- 2017-3-13
- 在线时间
- 7 小时
|
1金钱
正点原子在RTC唤醒实验中 有一条GPIO复位程序 RCC_APB2PeriphResetCmd(0X01FC,DISABLE); //复位所有IO口
这个DISABLE是不是有待商榷?假如是disable则进入下面第二个分支
void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));
assert_param(IS_FUNCTIONAL_STATE(NewState));
if (NewState != DISABLE)_______________// 1
{
RCC->APB2RSTR |= RCC_APB2Periph;
}
else________________________________//2
{
RCC->APB2RSTR &= ~RCC_APB2Periph; // 01fc(0000 0001 1111 1100) 取反(1111 1110 0000 0011) 相当于与了1111 1110 0000 0011
}
}
我们查看 APB2 RSTR寄存器 以上 相当于 A~F IO口与了0,岂不是没有复位 ,所以我的想法是DISABLE 改为ENABLE 相应位去或1 不知我的想法是否正确???

|
|