许多独立于平台的通用组件用来帮助实现和提高TinyOS定时器系统。
●AlarmToTimerC
●BusyWaitCounterC
●CounterToLocalTimeC
●TransformAlarmC
●TransformCounterC
●VirtualizeTimerC
1.AlarmToTimerC组件
AlarmToTimerC组件将32位的Alarm转换成定时器。
2.BusyWaitCounterC组件
BusyWaitCounterC组件使用计数器来使程序等待一个特定的时间。
3.CounterToLocalTimeC组件
CounterToLocalTimeC组件将32为计数器转换成LocalTime。(www.xing528.com)
4.TransformAlarmC组件
TransformAlarmC组件减少Alarm的精度和(或)位数。
to_precision_tag和to_size_type表示Alarm的最终精度和最终位数。from_precision_tag和from_size_type表示AlarmFrom的精度和位数。bit_shift_right表示bit_shift将使用过的精度转换为所提供的精度。
例,将Alarm<T32khz,uint13_t>转换为Alarm<TMilli,uint32_t>,则需建立Transform AlarmC如下:
new TransformAlarmC(TMilli,uint32_t,T32khz,uint16_t,5)
开发者使用TransformAlarmC来确保所有的5个参数都是自给的。当传递给TransformAlarmC的参数不一致时,不会发生编译错误。
5.TransformCounterC组件
TransformCounterC组件减少计数器的精度和(或)位数。
to_precision_tag和to_size_type表示Counter的最终精度和最终位数。from_precision_tag和from_size_type表示CounterFrom的精度和位数。bit_shift_right表示bit_shift将使用过的精度转换为所提供的精度。upper_count_type表示存数附加计数器位的数字类型。upper_count_type位数必须大于等于附加位数即to_size_type加bit_shift_right。
例如,将Counter<T32khz,uint13_t>转换为Counter<TMilli,uint32_t>,则需建立Transform CounterC如下:
6.VirtualizeTimerC组件
VirtualizeTimerC组件使用单一的定时器来建立255个虚拟定时器。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。