
1 产品由于尺寸比较小,没有硬件复位,复位电路只有上拉10k电阻下拉0.1uf电容,使用过程中需要不停在STOP模式与工作状态切换,STOP模式电流为60uA,工作状态8mA~20mA之间; 2 STOP模式与正常模式切换,通过RTC闹钟唤醒,RTC时钟采用外部晶振; 3 在生产过程总生产了100pcs样品,出现了2pcs中间程序停止的现象,复测一台不能出现,另一台概率出现,在概率出现的样机上,使用外部电源供电,死机后电流为8~9mA; 4 针对重现的样机,初步怀疑是否由于外部晶振原因找出,程序调整为内部晶振后,仍然出现一次; 5 STOP模式唤醒代码如下: void Low_power_consumption(u16 sec) { //while(1);//14.8mA Power_Ctrl(); //while(1);//4.4mA ADC_DeInit(ADC1); //while(1);//3.4mA RTC_ALARM_SET(sec); Sys_Enter_Stop(); //while(1);//13mA SystemInit(); //while(1);//3.3mA RTC_Init(); //while(1);//13.5mA Power_On(); //while(1);//3.3mA } |
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32f407无法配置定时器2为全部dma
STM32F103TBU6 封装是VFQFPN36 将PD0和PD1配置成CAN不成功是什么原因
串口DMA + 空闲中断收发 ?
F103RCT6芯片对AFIO->MAPR寄存器写入时出错
楼主,您好。贴的代码全是屏蔽的。这段代码换成图片也行。分析原因如果是从stop下唤醒后不能休眠,可以看看是不是唤醒后系统时钟配置不过去。再就是分析一下进入STOP之前,代码是否有死循环。可以通过串口或者IO的状态来指示一下唤醒后正常工作过没有。
2. 之前怀疑是晶振偶尔出现问题造成,后程序更改为内部晶振进行RTC计时,12小时也出现了程序停止。同时针对正常的电路板进行晶振短路测试,在睡眠唤醒的过程中,只是STOP模式时间延长,将晶振恢复正常后,产品仍然能够唤醒,正常工作。
我看你用的是秒唤醒,计划多长时间唤醒一次,我怀疑是不是因为配置RTC唤醒的当时有问题。你用的是秒、分、时三种同时符合进行唤醒吗?如果唤醒时间很短的话,可以考虑换成以下代码唤醒。
void RTC_WakeUpClockConfig(uint32_t RTC_WakeUpClock); void RTC_SetWakeUpCounter(uint32_t RTC_WakeUpCounter);
用的是秒唤醒,有2s唤醒一次,也有30s唤醒一次
可以考虑换成我提供的函数试试。