4 posts / 0 new
Last post
RandyYu
Offline
Last seen:2 years 10 months ago
加入:2015-01-28 08:49
PER_IS_DOWN这一位代表什么意思

程序中好多地方都有这一句
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:
Gongyu_Dialog
Offline
Last seen:1 week 2 days ago
加入:2016-04-27 07:07
没看好多地方调用啊,一般就在BLE_WAKEUP_LP

没看好多地方调用啊,一般就在BLE_WAKEUP_LP_Handler或者按键中断处理的回调函数里面会调用到。

RandyYu
Offline
Last seen:2 years 10 months ago
加入:2015-01-28 08:49
我看到好多地方都调用了,所以问你是什么意思,干吗用的

我看到好多地方都调用了,所以问你是什么意思,干吗用的?手册上关于这个寄存器写的很不明白

Gongyu_Dialog
Offline
Last seen:1 week 2 days ago
加入:2016-04-27 07:07
你看的是SDK3还是5的代码?我这里periph_init

你看的是SDK3还是5的代码?我这里periph_init()就开机初始化调用一次,然后就是BLE_WAKEUP_LP_Handler或者按键中断处理的回调函数

PER_IS_DOWN就代表外设的电被关了。