
stm32G474的flash模式如何判定?single bank 和dual bank
串口DMA + 空闲中断收发 ?
F103RCT6芯片对AFIO->MAPR寄存器写入时出错
使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确的问题
STM32N6 使用SDMMC1-eMMC作为外部存储器,地址如何配置
WS2812B怎么显示任意字符 / 图案?
STM32N6570-DK预装的Demo在哪里下载?
STM32F103RCT6 定位孔 镂空,会影响使用吗?
FlyMcu下载写入出错问题
HAL库1.8.4在做破坏性测试的时候出现g_state永远为busy的情况导致串口通信发送卡死
如果有开发板,在开发板上运行,或者运行示例代码,排除硬件问题,那就是软件逻辑了。
如同大家建议的,代码开始时加一些延时和指示功能测试一下。
通过定时器设置一个全局变量,在while循环里判断这个标志是否为置1,如果置1,则进入STOP模式,在进入前设置RTCALM,通过时钟的报警功能,进行唤醒,进入1秒唤醒,进入后在未唤醒前按下reset,此时无法唤醒,软件看门狗5秒钟后,重启芯片。此时又会按照1秒一次的进入STOP模式。
如果,将RTC唤醒取消,后进入STOP无法唤醒,但是此时按下RESET后可以正常唤醒单片机,这就是很奇怪的地方,如果不能唤醒,那么都不应该唤醒,但是单独一个就可以,两个了就不行,这是什么道理呢?
加了指示,才知道是进入了STOP模式无法通过RTC唤醒了,我在想一个问题,是不是因为RESET复位导致了RTC冲突,最终无法唤醒的
从你的描述上来看,重启是正常工作的,如果进入STOP后,软件看门狗应该是不工作的。现在产生了软件看门狗复位,说明是前面的功能已经启动。建议查看一下复位后,RTC初始化时,是不是进入了死循环。
现在有两个疑问,第一,RTC初始化的时候,是不是每次都要配置一次?如果RTC已经在运行了,重复配置会不会导致问题。
第二,RTC初始化,如果是先配置NVIC,程序会卡死在配置 RTC_ITConfig(RTC_IT_SEC|RTC_IT_ALR, ENABLE);执行到这一句的前一句,还是正常的,一执行这一句就卡死了。如果是把NVIC放到配置了 RTC_ITConfig(RTC_IT_SEC|RTC_IT_ALR, ENABLE);以后执行,会卡死在NVIC_Init(&NVIC_InitStructure); 这里,也就是无法进行NVIC配置。因为我设置的是执行一句,进行一个printf打印输出,每次都会卡死在同一个地方,最后设置了软件看门狗,会被看门狗重新复位,然后程序开始正常执行。
RTC是否有增加电池供电,如果有的话,可以不用重新初始化。如果没有增加需要进行初始化。
RESET引脚没有问题,RTC有电池,很奇怪的一个现象,如果不按下复位按键,程序运行正常,如果在进入STOP以后,按下,就异常了
你可以试一下,时钟设置应该是没问题的,