硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1172|回复: 2
收起左侧

[ThreadX全家桶] 进入sleep模式无法唤醒

[复制链接]

85

主题

798

回帖

1053

积分

至尊会员

积分
1053
发表于 2022-9-18 00:56:06 | 显示全部楼层 |阅读模式
threadx移植tickless,内核开关中断使用basepri,单片机进入sleep之后无法唤醒,不使用basepri一切正常。
BASEPRI配置:
[C] 纯文本查看 复制代码
TX_PORT_USE_BASEPRI
TX_PORT_BASEPRI=0x10

睡眠接口:
[C] 纯文本查看 复制代码
#define TX_LOW_POWER_TICKLESS
#define TX_LOW_POWER_USER_ENTER app_enter_lowpower()

/**
 * @brief 进入低功耗
 * 
 */
void app_enter_lowpower(void)
{
	HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);
}


不知道大佬有没有遇到过。我看了一下源码,进入睡眠前是打开中断的呀,理论上和屏蔽中断无关的呀
[C] 纯文本查看 复制代码
VOID  tx_low_power_enter(VOID)
{
    ...
    TX_RESTORE

    /* User code to enter low power mode. This allows the application to power down
       peripherals and put the processor in sleep mode.
    */
#ifdef TX_LOW_POWER_USER_ENTER
    TX_LOW_POWER_USER_ENTER;
#endif

    /* If the low power code returns, this routine returns to the tx_thread_schedule loop.  */
}

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117564
QQ
发表于 2022-9-18 08:38:49 | 显示全部楼层
这个我得测试下。
回复

使用道具 举报

85

主题

798

回帖

1053

积分

至尊会员

积分
1053
 楼主| 发表于 2022-9-18 23:00:01 | 显示全部楼层
eric2013 发表于 2022-9-18 08:38
这个我得测试下。

测试发现使用basepri,移植GUIX之后系统跑着跑着就不切换任务了,也不是死了。不知道是不是我没有移植好,硬汉大佬如果搞这块的时候有心得发出来参考下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-15 00:17 , Processed in 0.038605 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表