AVR复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的 指令必须是绝对跳转JMP 指令,以使程序跳转到复位处理例程。
AVR的复位信号源有五个:
上电复位:电源电压低于上电复位门限 VPOT 时, MCU 复位。
外部复位:引脚 RESET 上的低电平持续时间大于最小脉冲宽度时MCU 复位。
看门狗复位:看门狗使能并且看门狗定时器溢出时复位发生。
掉电检测复位:掉电检测复位功能使能,且电源电压低于掉电检测复位门限 VBOT 时 MCU 即复位。
JTAG AVR复位:复位寄存器为1 时MCU 复位。
上电复位
上电复位(POR) 脉冲由片内检测电路产生,POR电路保证器件在上电时复位。VCC 达到上电门限电压后触发延迟计数器。在计数器溢
出之前器件一直保持为复位状态。当VCC 下降时,只要低于检测门限,RESET 信号立即 生效。
外部复位
外部复位由外加于RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度 时 即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到 复位门限电压VRST( 上升沿) 时, tTOUT 延时周期开始。延时结束后MCU 即启动。
看门狗复位
看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿,延时 定时器开始对tTOUT 记数
掉电检测复位
BOD 电路的开关由熔丝位BODEN控制。当BOD使能后(BODEN被编程),一旦VCC下降到 触发电平以下(VBOT-, Figure 19), BOD 复位立即被激发。当VCC 上升到触发电平以上 时(VBOT+,Figure 19),延时计数器开始计数,一旦超过溢出时间tTOUT,MCU即恢复工作。
JTAG AVR复位
JTAG通过复位寄存器mcur,复位寄存器为1 时MCU 复位。通过JTAG 指令AVR_RESET 可以使JTAG 复位寄存器置位,并引发MCU 复位,并使 JTRF 置位。上电复位将使其清零,也可以通过写”0” 来清除。
======================================================================
MCU 控制和状态寄存器提供了有关引起MCU 复位的复位源的信息。
Bit 4 – JTRF: JTAG 复位标志
通过JTAG 指令AVR_RESET 可以使JTAG 复位寄存器置位,并引发MCU 复位,并使
JTRF 置位。上电复位将使其清零,也可以通过写”0” 来清除。
Bit 3 – WDRF: 看门狗复位标志
看门狗复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。
Bit 2 – BORF: 掉电检测复位标志
掉电检测复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。
Bit 1 – EXTRF: 外部复位标志
外部复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。
Bit 0 – PORF: 上电复位标志
上电复位发生时置位。只能通过写”0” 来清除。
为了使用这些复位标志来识别复位条件,用户应该尽早读取此寄存器的数据,然后将其复 位。如果在其他复位发生之前将此寄存器复位,则后续复位源可以通过检查复位标志来了解。
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |