WCH沁恒单片机
直播中

莫联雪

7年用户 1134经验值
私信 关注
[问答]

CH582M freeRTOS如何实现休眠? 休眠后如何唤醒?

有以下以后望解答:
  • 如何实现休眠? 休眠后如何唤醒?
    目前尝试用裸机例程中的休眠函数,仅LowPower_Shutdown(0); 可以正常睡眠并且成功唤醒。其他方式均不能唤醒。但此方式唤醒后task会莫名其妙的不执行或者出其他什么问题了,两个task原先是串口打印的,唤醒后没有输出。但在创建task的函数前放一个延时,唤醒后又可以正常半秒钟。
  • freertos是否有可能用于ble开发? 如果有可能,是否有开发计划?
  • 是否有可能改为硬件压栈?后续有无开发计划?

回帖(7)

乐侨珂

2022-8-1 09:21:34
低功耗休眠可以考虑使用LowPower_Sleep;
freertos可以用于ble开发,但目前没有出BLE的freertos单独库的计划。你可以创建一个比IDLEtask高一优先级的任务,用来一直运行TMOS_SystemProcess;
CH583在使用RTOS时无法使用硬件压栈,所以不可能。
举报

余英姿

2022-8-1 09:21:44
LowPower_Sleep我试了,无法唤醒
举报

李洪洋

2022-8-1 09:21:46
你可以看看EVT里面PM的例子,演示了4种低功耗模式下IO唤醒的写法。
举报

周棠亨

2022-8-1 09:21:52
我就是直接复制的EVT里面的代码。 现象就是上面描述的那样。
目前尝试用裸机例程中的休眠函数,仅LowPower_Shutdown(0); 可以正常睡眠并且成功唤醒。其他方式均不能唤醒。但此方式唤醒后task会莫名其妙的不执行或者出其他什么问题了,两个task原先是串口打印的,唤醒后没有输出。但在创建task的函数前放一个延时,唤醒后又可以正常半秒钟。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分