rt_thread hc32f460开发五:wdt驱动移植

看门狗驱动的代码结构和原理

参考STM32的看门狗驱动,RT-Thread中的看门狗驱动主要有两个函数组成wdt_init和wdt_control。 其中wdt_init提供看门狗初始化,主要就是初始化看门狗依赖的时钟,不过看门狗的功能比较简单,init函数一般空置。wdt_control根据命令字提供喂狗、设置超时时间、获取超时时间、启动看门狗的功能。由于大部分的处理器对于看门狗的设置是一次性的,因此大多数工作再start的时候一次做完就OK了。

hc32f460看门狗的时钟来自PLCK3,根据自己的频率设置分频系数和计数器的数值就可以了。hc32f60的计数器是16bit的,所以把看门狗的时钟分频道xKHZ的级别,一般就可以提供几十毫秒至几秒钟的时间。

我们的项目中处理器运行在100MHZ,PLCK3对应为25M,分频2048,计数器4096,大约提供335ms的超时时间。

驱动添加和使用方法

1、把驱动文件drv_wdt.c放入drivers目录

2、修改drivers/SConscript增加将wdt驱动加入编译

rt_thread hc32f460开发五:wdt驱动移植

3、代码中查找名为wdt的看门狗设备,并试用rt_device_control的函数初始化并启动看门狗

rt_thread hc32f460开发五:wdt驱动移植

4、主循环中不停的喂狗,不喂会复位的

rt_thread hc32f460开发五:wdt驱动移植

rt_thread hc32f460开发五:wdt驱动移植

开发资料

HC32F460用户手册

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/47/key/0

HC32F460数据手册

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/65/id/46/key/0

HC32F460驱动库

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/66/id/57/key/9

HC32F460驱动库帮助

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/66/id/57/key/8

HC32F460IDE支持包

https://www.hdsc.com.cn/cn/Index/downloadFile/modelid/66/id/58/key/2

上一篇:使用PowerDesigner数据库建模


下一篇:JavaScript-笔记18