这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
icore4t_27 [2020/09/26 14:46] zgf 创建 |
icore4t_27 [2022/04/01 10:47] (当前版本) sean |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-09-26 | gingko | 初次建立 | | | V1.0 | 2020-09-26 | gingko | 初次建立 | | ||
行 80: | 行 79: | ||
{{ :icore4t:iCore4T_ARM_HAL_27_1.png?direct |}} | {{ :icore4t:iCore4T_ARM_HAL_27_1.png?direct |}} | ||
* 图中,T[6:0]就是WWDG_CR的低七位,W[6:0]即是WWDG->CFR的低七位。T[6:0]就是窗口看门狗的计数器,而W[6:0]则是窗口看门狗的上窗口,下窗口值是固定的(0X40)。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。上窗口值(W[6:0])是由用户自己设定的,根据实际要求来设计窗口值,但是一定要确保窗口值大于0X40,否则窗口就不存在了。 | * 图中,T[6:0]就是WWDG_CR的低七位,W[6:0]即是WWDG->CFR的低七位。T[6:0]就是窗口看门狗的计数器,而W[6:0]则是窗口看门狗的上窗口,下窗口值是固定的(0X40)。当窗口看门狗的计数器在上窗口值之外被刷新,或者低于下窗口值都会产生复位。上窗口值(W[6:0])是由用户自己设定的,根据实际要求来设计窗口值,但是一定要确保窗口值大于0X40,否则窗口就不存在了。 | ||
- | * 窗口看门狗的超时公式如下: | + | |
+ | 窗口看门狗的超时公式如下: | ||
{{ :icore4t:iCore4T_ARM_HAL_27_6.png?direct |}} | {{ :icore4t:iCore4T_ARM_HAL_27_6.png?direct |}} | ||
- | * 其中: | + | |
- | Twwdg:WWDG 超时时间 | + | 其中: |
- | PCLK1:PCLK1 的时钟频 | + | |
- | WDGTB:WWDG 的预分频系数 | + | * Twwdg:WWDG 超时时间 |
- | T[5:0]:窗口看门狗的计数器低 6 位 | + | * PCLK1:PCLK1 的时钟频 |
+ | * WDGTB:WWDG 的预分频系数 | ||
+ | * T[5:0]:窗口看门狗的计数器低 6 位 | ||
=== 2.WWDG框图 === | === 2.WWDG框图 === | ||
行 106: | 行 110: | ||
{{ :icore4t:iCore4T_ARM_HAL_27_4.png?direct |}} | {{ :icore4t:iCore4T_ARM_HAL_27_4.png?direct |}} | ||
位 31:14 保留,必须保持复位值。 | 位 31:14 保留,必须保持复位值。 | ||
+ | |||
位 13:11 WDGTB[2:0]: 定时器时基 (Timer base) | 位 13:11 WDGTB[2:0]: 定时器时基 (Timer base) | ||
可按如下方式修改预分频器的时基: | 可按如下方式修改预分频器的时基: | ||
- | 000: CK 计数器时钟 (PCLK div 4096) 分频器 1 | + | * 000: CK 计数器时钟 (PCLK div 4096) 分频器 1 |
- | 001: CK 计数器时钟 (PCLK div 4096) 分频器 2 | + | * 001: CK 计数器时钟 (PCLK div 4096) 分频器 2 |
- | 010: CK 计数器时钟 (PCLK div 4096) 分频器 4 | + | * 010: CK 计数器时钟 (PCLK div 4096) 分频器 4 |
- | 011: CK 计数器时钟 (PCLK div 4096) 分频器 8 | + | * 011: CK 计数器时钟 (PCLK div 4096) 分频器 8 |
- | 100: CK 计数器时钟 (PCLK div 4096) 分频器 16 | + | * 100: CK 计数器时钟 (PCLK div 4096) 分频器 16 |
- | 101: CK 计数器时钟 (PCLK div 4096) 分频器 32 | + | * 101: CK 计数器时钟 (PCLK div 4096) 分频器 32 |
- | 110: CK 计数器时钟 (PCLK div 4096) 分频器 64 | + | * 110: CK 计数器时钟 (PCLK div 4096) 分频器 64 |
- | 111: CK 计数器时钟 (PCLK div 4096) 分频器 128 | + | * 111: CK 计数器时钟 (PCLK div 4096) 分频器 128 |
位 10 保留,必须保持复位值。 | 位 10 保留,必须保持复位值。 | ||
+ | |||
位 9 EWI: 提前唤醒中断 (Early wakeup interrupt) | 位 9 EWI: 提前唤醒中断 (Early wakeup interrupt) | ||
* 置 1 后,只要计数器值达到 0x40 就会产生中断。此中断只有在复位后才由硬件清零。 | * 置 1 后,只要计数器值达到 0x40 就会产生中断。此中断只有在复位后才由硬件清零。 | ||
+ | |||
位 8:7 保留,必须保持复位值。 | 位 8:7 保留,必须保持复位值。 | ||
+ | |||
位 6:0 W[6:0]: 7 位窗口值 (7-bit window value) | 位 6:0 W[6:0]: 7 位窗口值 (7-bit window value) | ||
* 这些位包含用于与递减计数器进行比较的窗口值。 | * 这些位包含用于与递减计数器进行比较的窗口值。 | ||
行 125: | 行 134: | ||
状态寄存器 (WWDG_SR) | 状态寄存器 (WWDG_SR) | ||
{{ :icore4t:iCore4T_ARM_HAL_27_5.png?direct |}} | {{ :icore4t:iCore4T_ARM_HAL_27_5.png?direct |}} | ||
+ | |||
位 31:1 保留,必须保持复位值。 | 位 31:1 保留,必须保持复位值。 | ||
+ | |||
位 0 EWIF: 提前唤醒中断标志 (Early wakeup interrupt flag) | 位 0 EWIF: 提前唤醒中断标志 (Early wakeup interrupt flag) | ||
当计数器值达到 0x40 时此位由硬件置 1。它必须由软件通过写入 0 来清零。写入 1 不起作用。如果不使能中断,此位也会被置 1。 | 当计数器值达到 0x40 时此位由硬件置 1。它必须由软件通过写入 0 来清零。写入 1 不起作用。如果不使能中断,此位也会被置 1。 | ||
行 208: | 行 219: | ||
==== 六、 实验现象 ==== | ==== 六、 实验现象 ==== | ||
- | - 在没有按下ARM_KEY按键时,终端输出文本,并且数值不断增大,当一直按下ARM_KEY按键,ARM不断复位,打印的数值不断循环,不会一直增大。 | + | 在没有按下ARM_KEY按键时,终端输出文本,并且数值不断增大,当一直按下ARM_KEY按键,ARM不断复位,打印的数值不断循环,不会一直增大。 |