[KungFu32位 MCU]

KF32A156使用freeRTOS系统后,无法进入休眠?

[复制链接]
2748|11
手机看帖
扫描二维码
随时随地手机跟帖
supershingo|  楼主 | 2023-3-29 08:29 | 显示全部楼层 |阅读模式
大家有没有遇到这个关于MCU使用系统后就不能进入休眠的问题?
想问问各位,是不是哪里还需要配置?怎么配置?
步骤说明:
1.使用KF32AA156MQV MCU,使用自带IDE导入例程RTOS(A02 freeRTOS),编译成功,也可以在开发板上正常运行;
2.在任务“LED task”内添加一个累加变量,当累加到10次后调用官方自带例程的进入普通休眠函数 SystemGotoSleepMode或者是SystemGotoStandbyMode(函数具体实现如下所示),MCU根本没有进入休眠;
3.不使用操作系统后,调用以下两个休眠函数,都可以进入休眠;使用了freeRTOS, 调用休眠函数,根本没办法休眠;然后切换成ucos ii系统,也是没办法休眠。

函数具体实现如下:
void SystemGotoSleepMode(void)
{
asm("NOP");
asm("SLEEP");
}

void SystemGotoStandbyMode(void)
{
PM_CAL2 |= (1 <<7);
PM_CTL0 = (1<< 11);
PM_Low_Power_Mode_Config(PM_LOW_POWER_MODE_STANDBY);
asm("NOP");
asm("SLEEP");
}

使用特权

评论回复
lamanius| | 2023-4-12 16:46 | 显示全部楼层
  如果使用操作系统的话,好像要释放资源才行吧

使用特权

评论回复
su1yirg| | 2023-4-12 17:51 | 显示全部楼层
这个睡眠感觉还是用裸机比较好,简单一些

使用特权

评论回复
cen9ce| | 2023-4-12 19:04 | 显示全部楼层
你把这函数的响应设置的是高还是低啊?

使用特权

评论回复
q1ngt12| | 2023-4-12 20:59 | 显示全部楼层
估计是程序一直运行,根本进不到休眠吧

使用特权

评论回复
g0d5xs| | 2023-4-12 22:05 | 显示全部楼层
仿真看看,程序运行的流程吧,用打印的方式试试,也许是休眠的函数级别较弱,进去又被唤醒了

使用特权

评论回复
lix1yr| | 2023-4-13 07:06 | 显示全部楼层
你可以单独试试休眠功能,在操作系统之下嘛

使用特权

评论回复
d1ng2x| | 2023-4-13 08:12 | 显示全部楼层
找他家FAE,问问咋解决比较合适

使用特权

评论回复
suw12q| | 2023-4-13 09:33 | 显示全部楼层
是不是nop的时间较短呢?多来两个试试

使用特权

评论回复
tax2r6c| | 2023-4-13 10:23 | 显示全部楼层
这个还真没遇到过,用操作系统比较少

使用特权

评论回复
p0gon9y| | 2023-4-13 14:54 | 显示全部楼层
你就一个点灯任务和一个休眠任务吗?

使用特权

评论回复
szt1993| | 2023-5-21 20:20 | 显示全部楼层
应该是程序框架的问题,建议在详细确认一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝