按照搜索的一些文章进行了操作,具体步骤如下:
1.在RT-Thread settings中打开低功耗功能
2.修改空闲线程的大小为1024字节
3.拷贝pm驱动
4.添加RTC相关的宏
5.报错信息
疑问
1.在drv_pmtim.c中会有报错,在网上没有搜索到类似的事情,该条语句注释掉后工程可以正常运行,但是RTC断电重启时间不对。
2.因为有几个线程是一直运行的,使用MSH命令时是先撤销正常运行模式,再申请休眠模式,通过终端命令看见是可以进入低功耗模式的,但是不清楚这样做是不是正确的。我没有使用PM初始化等相关api,但是我在一些文章中看到过说使用PM组件是要初始化的,请大佬们简单描述一下,移植PM组件的步骤顺序。
看下这个文档吧
https://club.rt-thread.org/ask/article/ac629960a10ba8c2.html
图片上传失败,PM 适配的文件参考
rt-thread\bsp\stm32\libraries\HAL_Drivers\drv_lptim.c
rt-thread\bsp\stm32\libraries\HAL_Drivers\drv_pm.c
请问您知道报错语句的作用吗,如果注释掉的话会有什么影响吗?
啊居然是张老师!我在csdn订阅了您的专栏,但是我看是用keil实现的就没有详细阅读
我不太清楚你工程里的哪些 pm 适配低功耗定时器的驱动文件哪里来的,功能应该实现了 低功耗定时器的操作吧。
这个要看下具体 cpu 平台,报错可能是HAL 库不兼容吧,名字可能不一致(改名了)
PM 初始化,不是初始化的设备,初始化框架, 如果有 低功耗定时唤醒操作,需要确认是否有低功耗定时器(睡眠下可以工作的定时器),低功耗定时器用于深睡眠的唤醒操作(包括系统tick 补偿)
这部分多看下PM文档吧,先从简单例程的入手