程序中好多地方都有这一句
if(GetBits16(SYS_STAT_REG,PER_IS_DOWN))
{
periph_init();
}
datasheet3.3 上面说的是
indicates that PD_PER is in power down,是不是说当这一位为1的时候,代表外设处于掉电状态?
然后调用periph_init();是给外设重新上电运行?
如果是这样的话,这句程序在唤醒BLE_WAKEUP_LP_Handler不是已经有了吗?
我在论坛上问过你们说BLE_WAKEUP_LP_Handler是唤醒后首先执行的函数。
那我就不明白了,既然这样,为什么还在那么多地方调用
if(GetBits16(SYS_STAT_REG,PER_IS_DOWN))
{
periph_init();
}
Device:
没看好多地方调用啊,一般就在BLE_WAKEUP_LP_Handler或者按键中断处理的回调函数里面会调用到。
我看到好多地方都调用了,所以问你是什么意思,干吗用的?手册上关于这个寄存器写的很不明白
你看的是SDK3还是5的代码?我这里periph_init()就开机初始化调用一次,然后就是BLE_WAKEUP_LP_Handler或者按键中断处理的回调函数
PER_IS_DOWN就代表外设的电被关了。