当前位置:首页 > 单片机 > 单片机
[导读]ErrorStatus RTC_WakeUpCmd(FunctionalState NewState){__IO uint32_t wutcounter = 0x00;uint32_t wutwfstatus = 0x00;ErrorStatus status = ERROR;assert_param(IS_FUNCTIONAL_STATE(NewState));RTC->WPR = 0xCA;R

ErrorStatus RTC_WakeUpCmd(FunctionalState NewState)

{

__IO uint32_t wutcounter = 0x00;

uint32_t wutwfstatus = 0x00;

ErrorStatus status = ERROR;

assert_param(IS_FUNCTIONAL_STATE(NewState));

RTC->WPR = 0xCA;

RTC->WPR = 0x53;

if (NewState != DISABLE)

{

RTC->CR |= (uint32_t)RTC_CR_WUTE;

status = SUCCESS;

}

else

{

RTC->CR &= (uint32_t)~RTC_CR_WUTE;

do

{

wutwfstatus = RTC->ISR & RTC_ISR_WUTWF;

wutcounter++;

} while((wutcounter != INITMODE_TIMEOUT) && (wutwfstatus == 0x00));

if ((RTC->ISR & RTC_ISR_WUTWF) == RESET)

{

status = ERROR;

}

else

{

status = SUCCESS;

}

}

RTC->WPR = 0xFF;

return status;

}

上边时RTC唤醒的打开和关闭,在使用时,发现就RTC_WakeUpCmd(DISABLE)这个函数就要占据8ms(可怕)系统延时,这对于低功耗产品来说,不能频繁地使用此函数,否则带来不必要的浪费。

原因:在关闭时函数内部下面几句话


do

{

wutwfstatus = RTC->ISR & RTC_ISR_WUTWF;

wutcounter++;

} while((wutcounter != INITMODE_TIMEOUT) && (wutwfstatus == 0x00));

在这里要等待,可能等待时间与RTC唤醒设定的值有关系。就没有再详细的跟踪测试。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

默认情况下,系统复位后,控制器运行在RUN模式,在RUN模式下,CPU的时钟是由HCLK提供,如果CPU不需要一直保持运行 状态,是可以设置控制器为其他几种低功耗模式,比如,当控制器需要等待一个 外部中断事件时。这取决于...

关键字: stm32l151 功耗 编程

基于ARMv7架构的Cortex系列由ARM公司在2006年推出,Cortex系列的推出满足人们对性能日渐复杂的设计要求,根据不同需求,Cortex系列共三个不同的子系列:

关键字: stm32l151 系统 电力电子

单片机型号:stm32L151v8t6 硬件:8MHz有源晶振 目的:开启外部高速晶振,配置系统时钟(默认使用HSI 16MHz)

关键字: stm32l151 时钟

默认情况下,系统复位后,控制器运行在RUN模式,在RUN模式下,CPU的时钟是由HCLK提供,如果CPU不需要一直保持运行 状态,是可以设置控制器为其他几种低功耗模式,比如,当控制器需要等待一个 外部中断事件时。这取决于...

关键字: stm32l151 功耗 编程

  2016年2月26日,德国慕尼黑和西班牙巴塞罗那讯——赢得消费者的信任对于智能移动设备支付解决方案至关重要。作为全球最大的安全芯片供应商之一,英飞凌科技股份公司(FS

关键字: rtc 机器人 rx8010sj

博主使用的是天嵌的开发板型号IMX6Q_coreC。1.发现使用开发板是时间总是被设置为2028年6月18日3时41分,一开始以为是底层驱动的问题, 故去底层加打印信息调试。2.发现在系统内hwclo

关键字: Linux rtc

比较F1的片子对于F4的RTC来说有很大提升,F4的RTC提供了日历时钟和两个可编程闹钟中断,一个周期性可编程唤醒标志。这样很方便设置系统时间,并不会像F1的RTC那样要自己计算年月日时分秒。F4的RTC是一个独立的BC...

关键字: rtc stm32f4

  RTC-Real Time Clock是430单片机的实时时钟模块,可以配置成实时时钟模式(万年历)或者一般目的的32位计数器模式,其中实时时钟模式提供了年月日、时分秒,可以选择BCD码或者二进制格式,并且具有可编程...

关键字: MSP430 rtc 单片机 实时时钟

STM32RTC使用步骤:打开PWR时钟和Backup区数据访问若使用外部低速时钟(LSE),打开LSE并等待起振选择和打开RTC时钟,等待时钟同步配置时间格式,分频系数等根据需要配置时钟,日期,闹钟,唤醒,输出,时间戳...

关键字: rtc stm32f3 实时时钟

1.与RTC有关的IO口:PC13(TAMPER-RTC)不能设置成GPIO_Mode_AN状态,否则进不了RTC中断。(可以设置成GPIO_Mode_IN)。2.需要在设置RTC时钟之前 RTC_WakeUpCmd(D...

关键字: rtc stm32l151
关闭
关闭