1.1.时钟管理
时钟管理提供以下功能:
Ÿ 维护系统日历时钟;
Ÿ 在任务等待消息包、信号量、事件或内存段时的超时处理;
Ÿ 以一定的时间间隔或在特定的时间唤醒或发送告警到一个任务。
Ÿ 处理任务调度中的时间片轮循。
这些功能都依赖于周期性的定时中断,离开实时时钟或定时器硬件就无法工作。
时钟管理的系统调用有:
tickAnnounce() 通知系统内核时钟“滴答”
tickSet() 设定内核时钟计数器值
tickGet() 得到内核时钟计数器值
timer_create() 创建时钟
timer_gettime() 获得时钟器给定值的当前剩余值
timer_settime() 设定时钟值
timer_connect() 联系用户函数和时钟信号
timer_cancel() 取消一个时钟
sysClkRateSet() 系统时钟速率设置
VxWorks看门狗定时器作为系统时钟中断服务程序的一部分,允许C语言函数指明某一时间延迟。一般来说,被看门狗定时器激活的函数运行在系统时钟中断级。然而,如果内核不能立即运行该函数,函数被放入tExcTask工作队列中。在tExcTask工作队列中的任务运行在最高优先级0。
看门狗定时器调用函数:
wdCreate() 分配并初始化看门狗定时器
wdDelete() 中止并解除看门狗定时器
wdStart() 启动看门狗定时器
wdCancel() 取消当前正在计数的看门狗定时器