我们的芯片都有SYSCON_RSR寄存器,里面列出了所有该芯片支持的复位方式。
比如下图是171的复位方式。

我们知道所有的复位都会让代码从头开始运行,这个是CPU被复位(PC=0)的效果。那芯片内各个模块寄存器的内容是不是也都会被复位呢?是不是各种复位的效果都一样呢?
还是以171为例来说明。
|
复位源/复位模块 |
CPU |
IWDT |
ISOSC |
IMOSC |
EMOSC |
HFOSC |
CKM |
RTC |
LVD |
Flash |
UREGn |
|
WWDT |
|
|
|
|
| ||||||
|
EFL_ERR |
|
|
|
|
|
|
| ||||
|
RAM_ERR |
|
|
|
|
|
| |||||
|
CPUFAULT |
| ||||||||||
|
SWRST |
|
|
|
|
|
|
|
|
| ||
|
CPURST |
| ||||||||||
|
EMCKM |
|
|
|
|
| ||||||
|
IWDT |
|
|
|
|
| ||||||
|
EXTRST |
|
|
|
|
|
|
|
|
| ||
|
LVR |
|
|
|
|
|
| |||||
|
POR |
|
|
|
|
|
|
|
|
|
|
|
和用户使用关系比较大的有
-
RTC只有在POR复位时会被复位。注意:这里说的RTC不是整个模块,KEY,EVTRG,EVPS会被任何复位方式复位,其他如控制寄存器(CR,CCR),时间配置(TIMR,DATR),闹铃配置(ALR)等只能通过POR复位。
-
SYSCON中UREG寄存器,只有在POR时会被复位
1785

被折叠的 条评论
为什么被折叠?



