东莞做网站优化哪家好,交换链接的其它叫法是,深圳网站建制作,做论坛网站怎么赚钱吗0.前言技术和经历经验都有限#xff0c;以下内容仅供初学者参考和个人总结记录#xff0c;不定期更新。都是使能协议栈开启BLE广播的情况协议栈#xff1a;s132_nrf52_6.1.1SDK#xff1a;nRF5_SDK_15.3.0_59ac3451.进入低功耗方式nRF52832进入低功耗或保持低功耗方式比较简…0.前言技术和经历经验都有限以下内容仅供初学者参考和个人总结记录不定期更新。都是使能协议栈开启BLE广播的情况协议栈s132_nrf52_6.1.1SDKnRF5_SDK_15.3.0_59ac3451.进入低功耗方式nRF52832进入低功耗或保持低功耗方式比较简单关闭所有能唤醒的定时器中断包括但不限于协议栈模拟定时器app_timer、各种软硬件定时器、RTC。注意是唤醒进入定时服务函数的动作要关闭有的定时器本身可以不关闭例如RTCPSapp_timer也是RTC实现的具体的可以测试。然后执行下面的函数仿真打断点发现进入此函数后不再出来进入低功耗成功。此时功耗最低点可以下降到30uA。/**brief Function for handling the idle state (main loop).** details If there is no pending log operation, then sleep until next the next event occurs.*/
void idle_state_handle(void)
{nrf_pwr_mgmt_run();
}硬件上IO口的拉高低问题所有MCU都差不多不赘述。2.如果可能打开DCDC功能需要硬件支持芯片的46、47脚接电感具体参考手册。3.有些用到DMA的外设进入低功耗前必须关闭否则会不断唤醒功耗激增比如UART只要使能NRF_UART0-ENABLE 1就会无法进入休眠一定要关闭。否则将会导致第1条中的进入低功耗失败。4.GPIO设置为输入可能并不是最省电的方式某些情况下直接输出高或低比设置为输入更省电。5.硬件SPI可能会与协议栈冲突导致功耗增加硬件SPI简单的关闭失能后还是会导致功耗增高关闭协议栈后正常原因未知正确关闭方法暂时未知只能暂时使用模拟SPI。评论区朋友反馈这可能是 GPIOTE与TWISPI冲突造成可以尝试如下方式解决TWI: Static 400 µA current while using GPIOTEinfocenter.nordicsemi.com6.看门狗的坑可能偷偷复位系统该芯片看门狗比较特别开启后就无法软件关闭此外在休眠期间协议栈会唤醒CPU导致看门狗会偷偷计数而用户代码完全不知道如果只是单纯一直休眠而不定期唤醒喂狗可能会导致系统不久后自动复位。7.FPU的问题此问题听说过还没遇到过可以参看书生Nordic nRF52832 SDK12.3 关于FPU未关闭引起的功耗问题zhuanlan.zhihu.com8.外部中断的选择外部中断分为port eventGPIO Sense和GPIOET两者功耗可能不一样前者是低功耗实测2uA或者是高功耗实测9uA但是port event的使用局限性比较大比如一个IO口进入中断后除非再解除否则其他IO口无法检测、只能检测高电平或低电平且速度不能太快等详见nRF5芯片外设GPIO和GPIOTE介绍-CSDN论坛bbs.csdn.net9.待续。