STM32F107 复位标志问题

前言
本篇讨论了STM32F107 中RCC_CSR 寄存器中PINRSTF 标志置位的问题。

问题:
某用户使用STM32F107 产品进行设计。在使用程序入口处,会判断RCC_CSR 中的标志来确定上次
复位的类型。然而,用户发现其中的PINRSTF 标志即使在NRST 引脚并未被外部信号拉低时,也会被
置起,从而引起判断出错。
D9 的存在 IO 口实际处于Floating 状态。此时,采样此通道上电压似乎应当是一个不确定的值才对。

分析:
在参考手册中,关于RCC_CSR 寄存器的描述如下:

表面看来,对各复位源的分割是很清楚的。
然而,在分析NRST 引脚造成的复位时,还需要查看复位电路的框图。

从上图可以看出,当发生其他复位例如看门狗复位时,同样会在NRST 引脚上送出一个至少20us 的低
脉冲。在文档中对这一点也有明确说明。
而复位标志PINRSTF 在内部设计中,只要是其上有低电平,就会被置位。因此,当发生其它复位时,
该位也有可能被置位。关于这一点,在手册中的说明不够符合国内客户习惯,容易造成误解。
那么如何判断复位源呢?
考虑到上述因素,程序中只要略加判断就可以处理,即:
首先判断是否有其它标志被置起。例如,同时有看门狗复位标志和PINRSTF 标志置位,则表明是看门
狗复位。
若仅有PINRST 标志被置位,则表明是NRST 引脚被拉低产生的复位。

永不止步步 发表于02-20 10:52 浏览65200次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:305117个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号