你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

RTC唤醒

[复制链接]
13066660108 提问时间:2024-5-8 10:10 / 未解决

STM32L051C8T6

使用外部LSE时钟32768作为RTC时钟;做如下设置为2s唤醒。

初始化如下:

LL_RTC_WAKEUP_Enable(RTC);

LL_RTC_WAKEUP_SetClock(RTC, LL_RTC_WAKEUPCLOCK_DIV_16);

RTC->WPR = 0xCA;

RTC->WPR = 0x53;

RTC->CR &=~ RTC_CR_WUTE; while((RTC->ISR & RTC_ISR_WUTWF) != RTC_ISR_WUTWF) { } RTC->WUTR = 4096; //2S

RTC->CR = RTC_CR_WUTE | RTC_CR_WUTIE; //enable WUTE RTC_CR_WUTIE

RTC->WPR = 0xFE;

RTC->WPR = 0x64;

主程序如下:

while (1) {

if(LL_RTC_IsActiveFlag_WUT(RTC))

{

LL_RTC_ClearFlag_WUT(RTC);

Toggle_LED();

}

}

证实了RTC->ISR->WUTF每2S中出现;

然后住程序加入进入STOP的函数,如下:

while (1) {

HAL_PWR_EnterSTOPMode(PWR_CR_LPSDSR,PWR_STOPENTRY_WFE);

if(LL_RTC_IsActiveFlag_WUT(RTC))

{ LL_RTC_ClearFlag_WUT(RTC);

Toggle_LED();

}

}

能进入低功耗状态(仿真器连不上了)

但不能2S唤醒,LED不能2S闪烁。

请问,还需要设置什么,才能在WFE的情况下,唤醒呢?

收藏 评论0 发布时间:2024-5-8 10:10

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版