完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
独立看门狗寄存器说明:
键值寄存器(TWDG_KR)中写入0xCCCC; 计数器开始从复位值0xFFF递减计数; 计数器到0x000,产生一个复位信号(IWDG_RESET); 键值寄存器(RWDG_KR)中写入0xAAAA; IWDG_RLR中的值会被重新加载到计数器中,避免看门狗复位; IWDG_PR 和 IWDG_RLR 寄存器具有写保护功能,修改两个寄存器之前先向 IWDG_KR寄存器中写入0x5555。 重装操作(0xAAAA)也会开启写保护功能。 预分频寄存器(IWDG_PR),用来设置看门狗时钟的分频系数。 独立看门狗启动步骤: 取消寄存器写保护(向 IWDG_KR 写入 0X5555): /IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 设置独立看门狗的预分频系数: void IWDG_SetPrescaler(uint8_t IWDG_Prescaler); //设置欲分频值 设置看门狗的重装载值: void IWDG_SetReload(uint16_t Reload); //设置重装载值 看门狗溢出时间计算 T o u t = ( ( 4 × 2 p r e r ) × r l r ) / 40 Tout=((4 times 2^{prer})times rlr) /40 Tout=((4×2prer)×rlr)/40 重载计数值(向IWDG_KR写入0xAAAA) IWDG_ReloadCounter(); //按照IWDG重载寄存器的值重装载IWDG计数器 启动看门狗(向IWDG_KR写入0xCCCC) IWDG_Enable(); //使能IWDG __注:__看门狗一旦启用,便不能关闭!!! 窗口看门狗超时公式: T w w d g = ( 4096 × 2 W D G T B × ( T [ 5 : 0 ] + 1 ) ) / F p c l k 1 ; Twwdg=(4096times2^{WDGTB}times(T[5:0]+1))/Fpclk1; Twwdg=(4096×2WDGTB×(T[5:0]+1))/Fpclk1; 其中: T w w d g : Twwdg: Twwdg:WWDG超时时间(单位为ms) F p c l k 1 : Fpclk1: Fpclk1:APB1的时钟频率(单位为KHz) W D G T B : WDGTB: WDGTB:WWDG的预分频系数 T [ 5 : 0 ] : T[5:0]: T[5:0]:窗口看门狗的计数器低6位 最小/最大超时时间表 [tr]WDGTB最小超时值最大超时值[/tr] 0 0 0 113 μ s 113mu s 113μs 7.28 m s 7.28ms 7.28ms 1 1 1 227 μ s 227mu s 227μs 14.56 m s 14.56ms 14.56ms 2 2 2 455 μ s 455mu s 455μs 29.12 m s 29.12ms 29.12ms 3 3 3 910 μ s 910mu s 910μs 58.25 m s 58.25ms 58.25ms 窗口看门狗控制寄存器(WWDG_CR): WWDG_CR只有低八位有效 T[6:0]用来存储看门狗的计数器值; 每个计数周期 ( 4096 × 2 W D G T B ) (4096times2^{WDGTB}) (4096×2WDGTB)减一; 计数器值从0x40 变为 0x3F 的时候,将产生看门狗复位; 窗口看门狗配置寄存器(WWDG_CFR): EWI(位9)是提前唤醒中断; 此位值1,当计数器值达到40h,即产生中断; 此中断只能由硬件在复位后清除; 进入中断后立即重新写WWDG_SR; 窗口看门狗状态寄存器(WWDG_SR) 仅位0有效; 由硬件置一,软件清零; 计数器值达到0x40后该位也会被置1; 启用窗口看门狗步骤: 使能时钟: ACC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); 设置窗口值: WWDG_SetWindowValue(uint8_t WindowValue); 设置分频数: WWDG_SetPewscaler(uint32_t WWDG_Prescaler); 开启WWDG中断并分组: WWDG_EnableIT(); //开启窗口看门狗 设置计数器初始值并使能看门狗: WWDG_Enable(uint8_t Counter); |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1885 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1663 浏览 1 评论
1149 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
763 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1720 浏览 2 评论
1964浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
790浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
616浏览 3评论
631浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
593浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-14 05:13 , Processed in 0.741374 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号