您好,欢迎来到外链网!
当前位置:外链网 » 站长资讯 » 专业问答 » 文章详细 订阅RssFeed

nrf52832功耗测试,nrf51822最小系统

来源:互联网 浏览:103次 时间:2023-04-08
下面是本人调试通过的nRF51822低功耗睡眠的软件应用,当执行NRF_POWER->SYSTEMOFF = 1;CPU将停止运行,保留外设参数,本人实测睡眠模式下电路电流消耗10微安,当被GPIO的DETECT信号唤醒后,复位,软件从main函数开始执行。whilie(1)下CPU消耗18毫安电流。不废话了,上实例代码

[cpp]? view plain ?copy /*****************************************************/?? #include?<stdbool.h>?? #include?<stdint.h>?? #include?"nrf.h"?? #include?"nrf_gpio.h"?? #include?"boards.h"?? ?? ?? #define?KeyPressFlag?0?? ?? ?? int?main(void)?? {?? ?????? ????nrf_gpio_cfg_input(key_0,?NRF_GPIO_PIN_NOPULL);//?配置按键BUTTON_0为输入?? ?????? ????//?配置BUTTON_1管脚为DETECT信号输出,该句很重要,是CPU被GPIO唤醒的必要条件?? ????nrf_gpio_cfg_sense_input(key_1,?NRF_GPIO_PIN_NOPULL,?NRF_GPIO_PIN_SENSE_LOW);??? ??? ????nrf_gpio_range_cfg_output(LED_START,?LED_STOP);//配置LED指示灯管脚为输出?? ?? ?? ????nrf_gpio_pin_set(LED_0);?//点亮LED灯?? ?? ?? ????//?睡眠保留RAM的参数?? ????NRF_POWER->RAMON?=?POWER_RAMON_ONRAM0_RAM0On???<<?POWER_RAMON_ONRAM0_Pos?? ?????????????????????|?POWER_RAMON_ONRAM1_RAM1On???<<?POWER_RAMON_ONRAM1_Pos?? ?????????????????????|?POWER_RAMON_OFFRAM0_RAM0Off?<<?POWER_RAMON_OFFRAM0_Pos?? ?????????????????????|?POWER_RAMON_OFFRAM1_RAM1Off?<<?POWER_RAMON_OFFRAM1_Pos;?? ?????? ????while(1)?? ????{??????? ????????//?如果BUTTON0?被按下,则熄灭LED灯让CPU进入睡眠?? ????????if(nrf_gpio_pin_read(key_0)?==?KeyPressFlag)?? ????????{?? ????????????nrf_gpio_pin_clear(LED_0);?? ?? ?? ????????????//CPU进入睡眠模式,若有GPIO的DETECT信号唤,则CPU被唤醒而后复位从main函数开始执行。?? ????????????NRF_POWER->SYSTEMOFF?=?1;?? ????????}?? ????}?? }??
转自:http://www.openedv.com/posts/list/44983.htm,在此感谢!

63624820