首页 > 其他分享 >APT32 RTC+低功耗调试笔记

APT32 RTC+低功耗调试笔记

时间:2024-03-17 21:15:36浏览次数:25  
标签:低功耗 RTC INT APT32 ADC12 看门狗 WDT adc

1、项目需求

   采用APT32F1023单片机,内部27K时钟驱动RTC,内部6M定时器作为主频。周期检测外部供电是否恢复,如果恢复则使用正常工作模式,否则仅开启RTC,关闭其他外设,进入低功耗待机模式。

2、存在问题

    A:开启看门狗后,会周期触发看门狗复位 

    B: 进入低功耗模式后,由于ADC采集异常,外部供电恢复无法被检测到,也就无法恢复到正常工作模式。

3、心得体会

  A: 注意ADC重新配置的时机

    不能不重新配置,否则无法采集新的ADC值

    不能初始化的过于频繁,否则留给ADC采集的时间不足,可能会造成多通道采集中的一个或多个通道还未完成转换,则采集数据不正确。

  B: 注意看门狗的及时喂狗

    我们知道,看门狗的触发周期内,要完成喂狗操作,否则单片机会看门狗复位重启。本例中看门狗的周期是8秒,我们选择RTC唤醒的周期是5秒,然后在RTC唤醒中断中喂狗,ADC采集中保险起见,也喂狗。

    //------------  WDT FUNTION  --------------------------------/
    SYSCON_IWDCNT_Config(IWDT_TIME_8S, IWDT_INTW_DIV_7); // WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S
    SYSCON_WDT_CMD(DISABLE); // enable WDT
    SYSCON_IWDCNT_Reload(); // reload WDT
    IWDT_Int_Enable();

void ADCIntHandler(void)
{
    uint16_t adc_v = 0;
    if ((ADC0->SR & ADC12_EOC) == ADC12_EOC) // ADC EOC interrupt
    {
        ADC0->CSR = ADC12_EOC;

        adc_v = ADC12_DATA_OUPUT(0);
        adc_val_ntc = adc_v * 5100 / 4096;

        adc_v = ADC12_DATA_OUPUT(1);
        if (adc_v > 0) {
            adc_val_power = adc_v * 5100 / 4096 * 11;
        }

        adc_v = ADC12_DATA_OUPUT(2);
        if (adc_v > 0) {
            adc_val_sensor = adc_v * 5100 / 4096;
        }

        adc_convert_ok = 1;
        SYSCON_IWDCNT_Reload();
        // ADC12_Control(ADC12_START);
 }}

void RTCIntHandler(void)
{
    // ISR content ...
    if ((RTC->MISR & ALRA_INT) == ALRA_INT) // ALRAR
    {
        RTC->ICR = ALRA_INT;
        RTC->KEY = 0XCA53;
        RTC->CR = RTC->CR | 0x01;
        RTC->TIMR = (0x10 << 16) | (0x00 << 8) | (0x00); // Hour bit6->0:am 1:pm
        while (RTC->CR & 0x02)
            ; // busy 判断TIMR DATR ALRAR ALRBR数据写完
        RTC->CR &= ~0x1;
    } else if ((RTC->MISR & ALRB_INT) == ALRB_INT) // ALRBR
    {
        RTC->ICR = ALRB_INT;
    } else if ((RTC->IMCR & CPRD_INT) == CPRD_INT) // CPRD
    {
        RTC->ICR = CPRD_INT;
        SYSCON_IWDCNT_Reload();
    } else if ((RTC->IMCR & RTC_TRGEV0_INT) == RTC_TRGEV0_INT) {
        RTC->ICR = RTC_TRGEV0_INT;
    } else if ((RTC->IMCR & RTC_TRGEV1_INT) == RTC_TRGEV1_INT) {
        RTC->ICR = RTC_TRGEV1_INT;
    }
}

  

  

标签:低功耗,RTC,INT,APT32,ADC12,看门狗,WDT,adc
From: https://www.cnblogs.com/realiot/p/18079132

相关文章

  • webrtc
    一、什么是WebRTCWebRTC(WebReal-TimeCommunication)是一个由Google、Mozilla、Opera等公司发起的开源项目,它支持网页浏览器进行实时音视频对话。它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和音频流或者其他任意数据的传......
  • 蓝牙5.2低功耗芯片PHY6222,支持MESH组网,适用于灯控等智能领域
    目前,蓝牙技术已经被广泛应用于包括消费电子、汽车电子、医疗设备、智能家居甚至是工业领域在内的所有物联网智能产品中。蓝牙Mesh智能灯,只是智能家居设备的开始,采用蓝牙Mesh方案的智能家居设备,能够自动快速进行蓝牙配对和建立网络连线,加速布局智能家居生态系统。今天跟大家探讨一......
  • 超低功耗LCD显示段码驱动芯片VKL128 LQFP44 适用于扫地机器人/燃气表-原厂技术支持
    VKL128概述:VKL128是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM)的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据,可配置4种功耗模式,也可通过关显示和关振荡器进入省电模式。其高抗干扰,低功耗的特性适用于水电气表以及工控仪表类产品。功能特点:•   ......
  • HS6621Cx 一款低功耗蓝牙SoC芯片 应用于键盘、鼠标和遥控器消费类产品
    HS6621Cx是一款功耗优化的真正片上系统(SOC)解决方案,适用于低功耗蓝牙和专有2.4GHz应用。它集成了高性能、低功耗射频收发器,具有蓝牙基带和丰富的外设IO扩展。HS6621Cx还集成了电源管理功能,可提供高效的电源管理。它面向2.4GHz蓝牙低功耗系统、专有2.4GHz系统、人机接口设备(键盘......
  • 书籍推荐|低功耗设计必备手册!Low Power Methodology Manual For System-on-Chip Desig
    《LowPowerMethodologyManualForSystem-on-ChipDesign》是ic设计领域中关于低功耗设计的著名书籍,该书是由Synopsys和ARM中的专业人员联合编写,新思科技(Synopsys)是世界3大EDA巨头之一,是全球领先的芯片设计、验证和软件安全与质量解决方案提供商,ARM也是全球知名的cpu设计公司......
  • STM32标准库低功耗
    STM32标准库低功耗1.睡眠模式1.1.进入以及退出方法睡眠模式较为简单,仅需要简单调用函数即可,且函数定义处于内核层,不需要引用多余的头文件。睡眠模式:仅内核停止,所有外设仍旧运行。调用"__WFI()"函数,退出方式为任意中断。调用"__WFE()"函数,退出方式为唤醒事件。2.停......
  • 5V转3.3V/2.5V芯片PW2059:低功耗设计,外围电路简洁,电源转换更高效
    在当今日益发展的便携式设备市场中,高效稳定的电源供应已成为消费者和制造商共同关注的焦点。为了满足这一需求,PW2059降压转换器应运而生,以其出色的性能和广泛的应用领域,成为了市场的热门选择。一、产品描述PW2059是一款恒频、电流模式降压转换器,它集成了主开关和同步整流器,无需......
  • PW2058降压芯片:3.7V至3V快速转换,低功耗设计,外围电路简洁
    概述:在便携式设备日益普及的今天,高效、稳定的电源管理成为了关键。PW2058作为一款恒频、电流模式降压转换器,以其出色的性能和广泛的应用范围,成为了市场上备受瞩目的产品。它集成了主开关和同步整流器,无需额外添加肖特基二极管,即可实现高达96%的效率,为单电池锂离子电池供电的便携......
  • WebRTC 同一个浏览器同一台 无需信令服务 实现视频通话
    这个仅仅是原理告你信令服务的作用<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv=&......
  • 锂电池电源转换利器:PW2053芯片,实现3.7V转3V/2.5V/1.2V低功耗转换
    在现代电子设备领域,高效、稳定的电源管理对于设备的性能和寿命至关重要。特别是在锂电池供电的应用中,选择一款性能卓越的降压调节器显得尤为关键。今天,我们将向您介绍一款备受赞誉的高效同步降压调节器——PW2053。这款调节器凭借其出色的性能和广泛的应用领域,在电源管理领域独领......