完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
看门狗分两种
1.独立看门狗,IWDG 只是简单的设置一个数,然后递减,减到0之前,还没有喂狗,狗就死了,系统重启。 没有中断。只有自己代码里去喂狗。 频率是内部时钟40K,可以分频。 2.窗口看门狗,WWDG 频率是PLCK1 我这是36M最多8分频,然后呢除以4096,就是WWDG的时钟 有个2个值比较重要, 1.一个是窗口值,W,在这个值之前不能喂狗,喂了狗就撑死了,reset。 2.一个是临界值,0x3F到这个值还没喂狗,狗就饿死了,reset。 我也不知道为什么设置是0x3F,挺奇怪的,为什么不设0x00? WWDG有一个中断函数HAL_WWDG_WakeupCallback,在倒计时到0x40的时候会掉这个,你得赶紧Refresh一下。 这些都是基本的,我搞的时候遇到2个问题: 1. 一个是Hal库版本的问题,HAL库升级到1.6版本后WWDG只有init函数,没有StartIT接口了,不知道是不是Bug,还是ST有新的用法,折腾我半天。后来我退回到1.4版本就OK了,但是新版本的Cube用就版本的HAL库竟然也有Bug,哎。无语。 2. 我自己项目需求是,板子USB通信,然后将内容与I2C进行读写,但是当接线不当的时候(比如没有接GND),I2C会挂掉,Systick不更新,然后就While死循环了,板子也就挂掉了,所以我就用了一个看门狗。 然后我发现就算这样也不行,好像USB的中断级别比WWDG高(在Cube里设的时候是一样都是0),USB当数据量大的时候,只用中断喂狗,来不及,所以特别容易死机。 后来我把窗口值设成126,每次刷新就刷到125,在我自己的逻辑代码里也增加了喂狗程序,然后就OK了。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1567 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1509 浏览 1 评论
937 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
668 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1561 浏览 2 评论
1850浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
615浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
506浏览 3评论
511浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
491浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-11 07:33 , Processed in 0.642064 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号