STM8S共有9个复位源:
NRST引脚产生的外部复位
上电复位(POR)
掉电复位(BOR)
独立看门狗复位
窗口看门狗复位
软件复位
SWIM复位
非法操作码复位
EMS复位:当一些关键的寄存器被破坏或错误加载时产生的复位
所有的复位源最终都作用于NRST管脚,并在复位过程中保持低电平。复位入口向量在内存映射中位于固定的地址6000h。
复位电路
复位引脚NRST内部集成了弱上拉电阻RPU,即可作为输入,也可作为开漏输出。
一个在复位引脚上宽度最小为500ns的低电平脉冲即可产生一个外部复位。对于复位的检测是异步进行的,因此即使MCU处于停机(Halt)模式,也有可能进入复位状态。
复位引脚也可以作为开漏输出用于对外部设备进行复位。
无论内部复位源是什么,一旦复位,内部复位电路都会产生一个至少脉宽为20us的复位脉冲。
当没有外部复位发生时,内部弱上拉电阻可保证复位引脚处于高电平。
请参考图11和见数据手册中的电特性参数章节来了解更多细节。
内部复位源
除了上电复位(POR)和掉电复位(BOR),每个内部复位源在复位状态寄存器中都有一个标志位与之相对应。复位时,根据导致复位的复位源,这些标志位被分别设置。因此,这些标志位可用于指示引起最后一次复位的复位源。通过软件写'1'可清除标志位。
上电复位(POR)和掉电复位(BOR)
STM8在上电期间,POR保持设备处于复位状态,直到供电电压(VDD和VDDIO)到达BOR的启动电压。此时,BOR复位取代POR,POR自动关闭。
BOR复位一直持续到供电电压到达工作电压。详情请参见数据手册的电特性章节。
当工作电压降到门限值VIT-以下时,BOR也将产生一个复位,此后POR模块将重新准备好以响应下一次上电复位。
电压迟滞用以保证清楚地检测电压的上升和下降。
即使是MCU处于低功耗模式,BOR也总是保持激活状态。
看门狗复位
详情请参见14独立看门狗(IWDG)和15窗口看门狗(WWDG)。
软件复位
应用程序可通过清除寄存器WWDG_CR中的T6位来触发一个复位,详情请参见15窗口看门狗(WWDG)。
SWIM复位
连接到SWIM接口的外部设备可通过SWIM模块产生一个MCU复位。
非法操作码复位
为了提高STM8设备的可靠性,防止意外行为的发生,使用了非法操作码检测系统。如果一个被执行的代码与任意操作码或预置字节均不相符,则产生一个复位。此功能与看门狗相配合,可使设备从一个意外错误或干扰中恢复。
注意:一个有效的预置字节与一个有效的操作码组成的一个非法的组合将不会产生复位。
EMS复位
为了避免由电磁干扰造成的对应用程序误写操作或系统挂起,大多数关键寄存器都有一个互补寄存器与之相对应。系统将会自动检测这些关键寄存器与其互补寄存器之间是否匹配。如果不匹配,则产生一个EMS复位,从而使应用程序恢复到正常操作。
关键字:STM8 复位
引用地址:
STM8 复位
推荐阅读最新更新时间:2024-03-16 15:04
80C51复位标志位的设置与应用研究
引言 设置复位标志位便于区分不同原因引发的复位,作为一种新技术被越来越多的新型单片机所采纳。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半导体部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,内部都设计了专门用于记录各种复位标志的状态寄存器。 MC68HC08系列有一个复位状态寄存器,负责记录6种复位标志位:上电复位、引脚复位、看门狗复位、非法指令复位、非法地址复位和欠压复位。SPMC65系列有一个系统控制寄存器,负责记录5种复位标志位:上电复位、外部复位、看门狗复位、非法地
[应用]
STM8电压表 原理图及源程序 IAR环境
刚刚用STM8S003做了个电压表,互相交流一下。用到了ADC采样及数码管显示。 STM8电压表单片机源程序: #include iostm8s003f3.h unsigned int ms_count; unsigned char adcflag; unsigned int ADCData; unsigned int tmpin; unsigned int ADCBuff ; /******************************************************************************* **函数名称:void GPIO_Init() **功能描述:GPIO- 功能引
[单片机]
使用STM8 Nucleo-64开发板在LED灯条上显示可变电压
UCLEO-8S208RB(基于STM8S208RBT6)和NUCLEO-8L152R8(基于STM8L152R8T6)开发板可用于评估所有STM8S系列和STM8L系列微控制器的主要特性。 本应用笔记简要介绍了如何在NUCLEO-8S208RB和NUCLEO-8L152R8开发板上使用ADC、TIM和GPIO外设。 当微控制器(本例中为STM8S208RBT6或STM8L152R8T6)使用连接到主机电脑的USB电缆供电时,定时器根据用户定义的周期触发ADC,以转换由可变电阻RV1(10KΩ)提供的模拟电压。 得到的平均电压测量值显示在LED灯条上。 1. 应用说明 本节主要介绍了使用NUCLEO-8S208RB或N
[单片机]
STM8 定时器中断程序
系统功能 使用STM8定时器做1S定时,并使用LED作出简单指示! 硬件设计 本设计基于内部RC振荡器2M时钟作STM8定时器TIM4的时钟源进行1S定时! LED控制电路原理图 软件设计 /********************************************************************* 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ /* ----------------------------
[单片机]
STM8 PIN setting(output)
今日在设置引脚输出的时候,本想设置为open-drain输出,然后对其输出高低。但是发现无法输出高(初始化为开漏低电平),始终为低。后来改为push-pull 输出,就能输出高低了。真有意思,转到SPEC查看发现输出模式中的开漏输出是模拟的,不是真的开漏。 所以对引脚设置输出模式时,欲有电平变化的输出,就要设置为推挽输出模式。 iframe id="iframe_0.816510149743408" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22ht
[单片机]
STM8新建IAR工程
1、准备标准库函数文件,官方的标准库函数为stsw-stm8069,解压后如下图: 2、新建一个文件夹,本例子命名为stm8-project,新建四个子文件夹,分别命名为APP、Readme、USER、STM8S_StdPerph_Driver: 3、从库函数例程以下目录拷贝文件 inc和src两个文件夹以及内容至STM8S_StdPerph_Driver目录。 4、从库函数例程以下目录拷贝文件 main.c、stm8s_conf.h、stm8s_it.c 、stm8s_it.h到USER目录。 5、在Readme目录下新建一个文本文件,命名为readme.txt,这个主要用来记录开发进度: 6、打开I
[单片机]
STM8的程序更换不同芯片时要注意的地方
1、用AVR软件打开程序,选择options,修改单片机型号 2、如果C++内有型号,要修改对应的型号(没有跳过此步) 3、DEBUGGER选择对应的仿真器 4、如果头文件不一致,也要修改 5、stm8l15x.h这个H文件内要选择对应芯片的#define 6、有时候如果程序不能运行,要添加相应的.c库文件和conf文件内打开相应的#include
[单片机]
MAX34561集成自保护/可复位热插拔开关
MAX34561是一款双通道的完全集成的,自保护,可复位 热插拔开关 。该装置降低了对安全插入和对供电的12V和5V的背板卡搬迁所需的元件数量。为了尽量减少解决方案尺寸,简化设计,设备集成到一个封装两个完整的热交换控制器,提供两个电源的完全控制。在12V电源有一个为12V负载68mΩn沟道功率MOSFET和5V电源具有43mΩ的N通道功率MOSFET的5V负载,从而消除了外部MOSFET和控制器需要分开。在目前的系统,需要通过限制在两个12V和5V的轨而设计,设备,如企业级硬盘驱动器,服务器/路由器热插拔应用的理想选择的PCI Express ®(PCIe的®)和InfiniBand™应用和基站。 提供坚固的保护,集成功率M
[电源管理]