RTIMER_NOW() 和 clock_time() 之间的 Contiki 区别
Contiki difference between RTIMER_NOW() and clock_time()
我想知道
之间的区别
RTIMER_NOW()
和
clock_time()
函数。
- 我可以将它们 return 的值存储在一个 int 变量中吗?
- 它们 return 时间指的是整个模拟还是调用它们的单个微尘?如果微尘在模拟中的第一个事件发生后 5 秒开始其主要过程,那么这些函数是 return 模拟值还是(模拟值 - 5 秒)?
谢谢。
两个函数:
RTIMER_NOW()
- returns 实时计时器 (rtimer
) 中的正常运行时间以模数 rtimer
溢出值为单位。例如,在 RTIMER_ARCH_SECOND
为 32768 且溢出每 2 秒发生一次的平台上,该值将始终介于 0 和 65535 之间,包括端值。
clock_time()
- returns 时钟滴答的正常运行时间。与 rtimer ticks 不同,它们是单调的(即始终不减)。默认情况下每秒有 128 个刻度(常量 CLOCK_SECOND
对此进行定义)。
您的其他问题:
使用 uint32_t
,则值将始终适合 32 位整数。否则在 int
为 16 位的平台上,类型 rtimer_ticks_t
and/or clock_time_t
的值可能不适合它。
您认为这有什么用?代码在真实节点上执行时,"simulation time"的值是多少?答案是否定的,Cooja 中的模拟节点不知道 "simulation time".
我想知道
之间的区别RTIMER_NOW()
和
clock_time()
函数。
- 我可以将它们 return 的值存储在一个 int 变量中吗?
- 它们 return 时间指的是整个模拟还是调用它们的单个微尘?如果微尘在模拟中的第一个事件发生后 5 秒开始其主要过程,那么这些函数是 return 模拟值还是(模拟值 - 5 秒)?
谢谢。
两个函数:
RTIMER_NOW()
- returns 实时计时器 (rtimer
) 中的正常运行时间以模数rtimer
溢出值为单位。例如,在RTIMER_ARCH_SECOND
为 32768 且溢出每 2 秒发生一次的平台上,该值将始终介于 0 和 65535 之间,包括端值。clock_time()
- returns 时钟滴答的正常运行时间。与 rtimer ticks 不同,它们是单调的(即始终不减)。默认情况下每秒有 128 个刻度(常量CLOCK_SECOND
对此进行定义)。
您的其他问题:
使用
uint32_t
,则值将始终适合 32 位整数。否则在int
为 16 位的平台上,类型rtimer_ticks_t
and/orclock_time_t
的值可能不适合它。您认为这有什么用?代码在真实节点上执行时,"simulation time"的值是多少?答案是否定的,Cooja 中的模拟节点不知道 "simulation time".