这几天调试IWDG,发现总是不复位,但是看门狗复位的标志已经设置,翻遍了pdf,反正就是那几段话,没有丝毫发现,网上的帖子也基本大同小异,反正到了我这里就是不管用。
还好,今天把问题解决了,发个帖子记录一下。
我的电路在外部连接了一个LM809复位芯片,LM809的复位直接连接到了STM32的复位输入,然后还连了一个4.7K的上拉电阻。问题的关键在于,STM32的内部的复位源都要驱动到复位引脚,然后由复位引脚变低来产生复位信号。当内部复位源要将复位引脚拉低的时,LM809输出的是高电平,而STM32的复位输出也不够强,居然只能拉到1.5V左右,STM32完全不能识别。其实按理说三端复位芯片的高电平输出能力都挺弱的,谁知道STM32低电平输出也这么弱。
解决办法就是将LM809拆了了事。什么都好了。唉,伤脑筋 |
既然有外部复位干嘛还用内部的IWDG呢。