RTIMER_NOW()和clock_time()之间的Contiki差异

我想知道它们之间的区别

RTIMER_NOW() 

 clock_time() 

function。

  1. 我可以将它们返回的值存储在int变量中吗?
  2. 他们是否将参考整个模拟的时间或称为调用它们的单个微尘返回? 如果mote在模拟中的第一个事件后5秒开始其主过程,这些函数是否返回模拟值或(模拟值 – 5秒)?

谢谢。

这两个function:

  • RTIMER_NOW() – 以实时定时器( rtimer )滴答模数rtimer溢出值返回正常运行时间。 例如,在RTIMER_ARCH_SECOND为32768并且每2秒发生溢出的平台上,该值将始终介于0和65535之间(包括0和65535)。

  • clock_time() – 以时钟周期返回正常运行时间。 与rtimer蜱不同,它们是单调的(即总是不减少)。 默认情况下,每秒有128个滴答(常量CLOCK_SECOND定义此值)。

你的其他问题:

  1. 使用uint32_t ,然后值将始终适合32位整数。 否则,在int为16位的平台上,类型为rtimer_ticks_t和/或clock_time_t可能不适合它。

  2. 你怎么认为这会起作用? 当代码在真实节点上执行时,“模拟时间”的function是什么? 答案是否定的,Cooja中的模拟节点不知道“模拟时间”。