完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于STM32涨价,厂家纷纷换了国产MCU,现在用华大HC32系列已经是潮流了。
用惯了STM32,突然换其它MCU,总是要踩一些坑,来看看HC32的看门狗吧。 HC32F460有两个看门狗:SWDT和WDT SWDT使用的是内部专用RC时钟源,大约为10KHz,精度低,不受外部晶振和PLL的影响,可靠性较高 WDT使用的是系统时钟PCLK3,精度高,但如果晶振或PLL故障,看门狗会停止计数。 做为系统死机守护的看门狗,建议选用SWDT。 SWDT是16位递减计数器, 计数值只能选择:256、4096、16384、65536这几种,不能任意设置。 时钟分频可选 :1、16、32、64、128、256、4096。 看门狗复位时间(秒)=分频 * 计数值 / 10K 下面就是HC32460的特别之处了: SWDT的初始化和启动是完全由硬件完成的。 参数配置是由一个叫ICG的特殊FLASH区域来完成。 ICG地址0x00000400 - 0x0000041F,可以看作是8个32位的只读寄存器,其中只有前2个有作用。 要启动SWDT看门狗,就要配置ICG0寄存器,ICG0的BIT[12:0]如图所示: 只要把ICG0的最低位由1改为0,SWDT就会自动启动。 关于ICG寄存器的配置方法,官方SDK已经提供了一个文件:hc32f460_icg.c和hc32f460_icg.h 修改hc32f460_icg.h的如下内容: 最后,还要记得修改ddl_config.h,打开配置开关。 #define DDL_ICG_ENABLE (DDL_ON)#define DDL_SWDT_ENABLE (DDL_ON) 至此,SWDT看门狗就会自动自动启动了,程序要运行的时候,需要定时刷新看门狗计数值, 刷新计数值使用以下函数就可以了: SWDT_RefreshCounter(); |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1763 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1617 浏览 1 评论
1059 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
723 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1933浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
566浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
550浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 09:08 , Processed in 0.825736 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号