久芯网

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

avatar 1+1=2 提问时间: 2023-07-15 21:30:57 / 未解决
进入STOP模式后,再按下复位按键,无法正常唤醒。

如需获得 stm32f103c8t6 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

11个回答
  • avatar 废鱼
    回答时间: 2023-07-15 21:47:37

    从现象上分析,reset以后应该是正常工作的。如果不能正常工作,检查reset前,MCU的外部供电。或者是因为reset后,系统太快进入了stop模式导致的。建议您在reset后,增加一段时间的串口打印或者LED的指示。

  • avatar butterflyspring
    回答时间: 2023-07-15 22:20:13

    RESET是芯片相当高的优先级的复位系统。一般最小系统没问题都会起作用的。 如果有开发板,在开发板上运行,或者运行示例代码,排除硬件问题,那就是软件逻辑了。 如同大家建议的,代码开始时加一些延时和指示功能测试一下。

  • avatar 1+1=2
    回答时间: 2023-07-15 22:37:25
    废鱼 发表于 2022-10-9 16:00
    从现象上分析,reset以后应该是正常工作的。如果不能正常工作,检查reset前,MCU的外部供电。或者是因为res ...

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

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

    加了指示,才知道是进入了STOP模式无法通过RTC唤醒了,我在想一个问题,是不是因为RESET复位导致了RTC冲突,最终无法唤醒的

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

    从你的描述上来看,重启是正常工作的,如果进入STOP后,软件看门狗应该是不工作的。现在产生了软件看门狗复位,说明是前面的功能已经启动。建议查看一下复位后,RTC初始化时,是不是进入了死循环。

  • avatar 1+1=2
    回答时间: 2023-07-15 23:42:03
    废鱼 发表于 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打印输出,每次都会卡死在同一个地方,最后设置了软件看门狗,会被看门狗重新复位,然后程序开始正常执行。

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

    RTC是否有增加电池供电,如果有的话,可以不用重新初始化。如果没有增加需要进行初始化。

  • avatar butterflyspring
    回答时间: 2023-07-16 00:38:27

    确认一下RESET脚的电平,是不是真正的被手动拉低了。别是硬件问题。

  • avatar 1+1=2
    回答时间: 2023-07-16 01:02:04
    butterflyspring 发表于 2022-10-10 14:08
    确认一下RESET脚的电平,是不是真正的被手动拉低了。别是硬件问题。

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

  • avatar ๑?
    回答时间: 2023-07-16 01:32:17

    十有**是你的stop后恢复程序有问题,打破低功耗后,需要重新初始化时钟

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

    你可以试一下,时钟设置应该是没问题的,

会员中心 微信客服
客服
回到顶部