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

【经验分享】STM32F107 复位标志问题

[复制链接]
STMCU小助手 发布时间:2022-2-16 21:09
前言+ ?- ^" X3 ^9 g9 D) `
本篇讨论了 STM32F107 中 RCC_CSR 寄存器中 PINRSTF 标志置位的问题。6 n: F) O' @+ v/ W6 j  V6 ?
问题:* n0 D- X! G" k: }
某用户使用 STM32F107 产品进行设计。在使用程序入口处,会判断 RCC_CSR 中的标志来确定上次复位的类型。然而,用户发现其中的 PINRSTF 标志即使在 NRST 引脚并未被外部信号拉低时,也会被置起,从而引起判断出错。+ m7 y+ |( U, ], v  H! z4 Y" q
D9 的存在 IO 口实际处于 Floating 状态。此时,采样此通道上电压似乎应当是一个不确定的值才对。
) h0 P9 t- s1 U$ H2 Q- m8 i* J( q8 o* `

$ L- b/ r3 d9 D5 i' |分析:4 ^' ?* o. r- N( |+ r$ r; Z
在参考手册中,关于 RCC_CSR 寄存器的描述如下:5 u1 U: J7 x$ }  s
2 R4 l3 G: p- c# i& `. y3 Q8 M
YM%@W{9Z8}R@RERKRZM4K8P.png
7 `9 {1 i( ~! X) F8 p: m. c* {3 M) ~4 Y
表面看来,对各复位源的分割是很清楚的。& ]* H/ e  z) p4 a  J
然而,在分析 NRST 引脚造成的复位时,还需要查看复位电路的框图。' r2 z- [3 m+ d' h& ]

/ m7 n$ A8 p" }* o. ~) ?6 B
  ?8 E4 x3 }4 g6 j 7CCA)5VI_M}RK90QF@UHL)W.png
& [% N% x4 K7 l& C9 ^. W0 P# A6 y4 G! W. p
从上图可以看出,当发生其他复位例如看门狗复位时,同样会在 NRST 引脚上送出一个至少 20us 的低脉冲。在文档中对这一点也有明确说明。
3 E2 X5 @3 Z  D而复位标志 PINRSTF 在内部设计中,只要是其上有低电平,就会被置位。因此,当发生其它复位时,该位也有可能被置位。关于这一点,在手册中的说明不够符合国内客户习惯,容易造成误解。
0 S8 l8 S% F/ I/ Q3 Z9 n2 Q( f' N8 Y  L
那么如何判断复位源呢?& W: ?) Q7 j/ n
考虑到上述因素,程序中只要略加判断就可以处理,即:( K9 i6 r" I% X" F- ]: B& X3 g& J! {
首先判断是否有其它标志被置起。例如,同时有看门狗复位标志和 PINRSTF 标志置位,则表明是看门狗复位。: c3 E2 |# B- S$ Y+ D! G. O  _, `, }
若仅有 PINRST 标志被置位,则表明是 NRST 引脚被拉低产生的复位。
. Q3 D$ E" Y& A$ I; L0 s
, }6 H& d8 N! v/ S% Z
赞 收藏 评论0 发布时间:2022-2-16 21:09

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版