我在试验待机模式。IDE是STM32CubeIDE,stm32f407vgt9单片机。因此,我在数据表中看到,如果下列条件之一已满,则mcu将保持待机模式:
WKUP引脚上升边缘,RTC报警(报警A和报警B),RTC唤醒,篡改事件,时间戳事件,外部复位在NRST引脚,IWDG复位。
如果我完全理解的话,单片机就会通过这个函数HAL_PWR_EnterSTANDBYMode()进入待机模式。我这样做,我希望如果单片机得到较高的WKUP (PA0)单片机将退出待机模式。我想要这个简单的密码。
while (1){
HAL_PWR_EnterSTANDBYMode();
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_SET);
HAL_Delay(3000);
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_RESET);
HAL_Delay(3000);}单片机进入待机模式,但离开待机模式永远不会发生。我试着把PA0和high连接起来,但什么也没发生。
我想要闪出另一段代码,但现在不可能了,因为我从STM32CubeIDE转到了这个错误:
最终发射序列中的
错误:
初始化ST链接设备时出错。
原因:(4)没有在目标上发现任何装置。
我怎么能解决这个问题?在试验待机之前,我得到了这个错误好几次,我成功地解决了他通过连接NRST引脚与GND (硬件重启mcu),但现在它不能工作,因为复位后的代码将自动执行。将NRST与GND连接并尝试闪存代码是不可能的(将出现新的错误,表明当前正在激活硬件重置:初始化ST链路设备时出错。原因:(8)目标处于重置状态。
任何想法都欢迎
发布于 2020-01-30 08:59:36
这是解决办法:
用GND连接NRST,用3V连接BOOT0,然后断开NRST和GND,然后尝试闪存/调试代码。
https://stackoverflow.com/questions/59967707
复制相似问题