VxWorks在内核中提供了看门狗机制,允许任何C函数以特定的延时挂接到一个定时器上。
看门狗定时器被作为系统时钟ISR的一部分而维持。由看门狗定时器触发的函数,将作为系统时钟的中断服务代码而执行。如下函数由wdLib库提供:

看门狗定时器示例

静态实例化看门狗定时器
wdCreate()函数执行了一个动态的、两步的操作,可以在运行时为看门狗定时器分配内存,并初始化看门狗定时器对象。看门狗定时器(包括其他VxWorks对象)也可以静态实例化(意味着在编译时为对象分配内存),然后在运行时初始化。
宏VX_WDG在编译时声明一个看门狗定时器,仅需要一个看门狗定时器名作为参数。函数wdInitialize()用于在运行时初始化看门狗定时器并将其使能。宏与函数必须使用同一个看门狗定时器名称。

本文详细介绍了VxWorks系统中的看门狗定时器功能,包括其静态实例化的方法,以及如何通过递归调用wdStart()函数实现周期性执行特定任务。看门狗定时器可以作为私有或公共对象创建,便于进程间通信。
最低0.47元/天 解锁文章
217

被折叠的 条评论
为什么被折叠?



