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

stm32f103c8t6 进入stop模式后,手动按下reset 无法正常启动

[复制链接]
1+1=2 提问时间:2022-10-9 15:29 / 未解决
进入STOP模式后,再按下复位按键,无法正常唤醒。
收藏 评论11 发布时间:2022-10-9 15:29

举报

11个回答
废鱼 回答时间:2022-10-9 16:00:42
从现象上分析,reset以后应该是正常工作的。如果不能正常工作,检查reset前,MCU的外部供电。或者是因为reset后,系统太快进入了stop模式导致的。建议您在reset后,增加一段时间的串口打印或者LED的指示。
butterflyspring 回答时间:2022-10-9 17:32:26
RESET是芯片相当高的优先级的复位系统。一般最小系统没问题都会起作用的。
如果有开发板,在开发板上运行,或者运行示例代码,排除硬件问题,那就是软件逻辑了。
如同大家建议的,代码开始时加一些延时和指示功能测试一下。
1+1=2 回答时间:2022-10-9 20:38:32
废鱼 发表于 2022-10-9 16:00
从现象上分析,reset以后应该是正常工作的。如果不能正常工作,检查reset前,MCU的外部供电。或者是因为res ...

通过定时器设置一个全局变量,在while循环里判断这个标志是否为置1,如果置1,则进入STOP模式,在进入前设置RTCALM,通过时钟的报警功能,进行唤醒,进入1秒唤醒,进入后在未唤醒前按下reset,此时无法唤醒,软件看门狗5秒钟后,重启芯片。此时又会按照1秒一次的进入STOP模式。
如果,将RTC唤醒取消,后进入STOP无法唤醒,但是此时按下RESET后可以正常唤醒单片机,这就是很奇怪的地方,如果不能唤醒,那么都不应该唤醒,但是单独一个就可以,两个了就不行,这是什么道理呢?


1+1=2 回答时间:2022-10-9 20:39:44
butterflyspring 发表于 2022-10-9 17:32
RESET是芯片相当高的优先级的复位系统。一般最小系统没问题都会起作用的。
如果有开发板,在开发板上运行, ...

加了指示,才知道是进入了STOP模式无法通过RTC唤醒了,我在想一个问题,是不是因为RESET复位导致了RTC冲突,最终无法唤醒的
废鱼 回答时间:2022-10-10 09:02:55
1+1=2 发表于 2022-10-9 20:39
加了指示,才知道是进入了STOP模式无法通过RTC唤醒了,我在想一个问题,是不是因为RESET复位导致了RTC冲 ...

从你的描述上来看,重启是正常工作的,如果进入STOP后,软件看门狗应该是不工作的。现在产生了软件看门狗复位,说明是前面的功能已经启动。建议查看一下复位后,RTC初始化时,是不是进入了死循环。
1+1=2 回答时间:2022-10-10 11:52:59
废鱼 发表于 2022-10-10 09:02
从你的描述上来看,重启是正常工作的,如果进入STOP后,软件看门狗应该是不工作的。现在产生了软件看门狗 ...

现在有两个疑问,第一,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打印输出,每次都会卡死在同一个地方,最后设置了软件看门狗,会被看门狗重新复位,然后程序开始正常执行。


废鱼 回答时间:2022-10-10 13:41:28
1+1=2 发表于 2022-10-10 11:52
现在有两个疑问,第一,RTC初始化的时候,是不是每次都要配置一次?如果RTC已经在运行了,重复配置会不会 ...

RTC是否有增加电池供电,如果有的话,可以不用重新初始化。如果没有增加需要进行初始化。
butterflyspring 回答时间:2022-10-10 14:08:35
确认一下RESET脚的电平,是不是真正的被手动拉低了。别是硬件问题。
1+1=2 回答时间:2022-10-11 13:47:48
butterflyspring 发表于 2022-10-10 14:08
确认一下RESET脚的电平,是不是真正的被手动拉低了。别是硬件问题。

RESET引脚没有问题,RTC有电池,很奇怪的一个现象,如果不按下复位按键,程序运行正常,如果在进入STOP以后,按下,就异常了

๑? 回答时间:2022-10-12 11:01:49
十有**是你的stop后恢复程序有问题,打破低功耗后,需要重新初始化时钟
1+1=2 回答时间:2022-10-12 16:46:17
๑? 发表于 2022-10-12 11:01
十有**是你的stop后恢复程序有问题,打破低功耗后,需要重新初始化时钟

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