time_stamp.c

来自「Vxworks操作系统上的源码。从中可以学习:任务优先级设置、deadline、」· C语言 代码 · 共 49 行

C
49
字号
#include "vxWorks.h"

#include "drv/timer/timerDev.h"

double jiffies_per_tick;
double clock_frequency;
double microseconds_per_tick;
double microseconds_per_jiffy;
double tick_diff, jiffy_diff, micro_diff;

unsigned long last_jiffies = 0;
unsigned long last_ticks = 0;
unsigned long current_jiffies = 0;
unsigned long current_ticks = 0;

void time_stamp(void)
{


 /* Enable the time-stamp driver for on-line collection */
  sysTimestampEnable();

  
  jiffies_per_tick = (double)sysTimestampPeriod();
  clock_frequency = (double)sysTimestampFreq();

  microseconds_per_tick = (jiffies_per_tick / clock_frequency)*1000000.0;
  microseconds_per_jiffy = microseconds_per_tick / jiffies_per_tick;

  printf("microseconds_per_tick = %e, microseconds_per_jiffy = %e\n", microseconds_per_tick, microseconds_per_jiffy);

  last_jiffies = sysTimestampLock();
  last_ticks = tickGet();

  taskDelay(100);

  current_jiffies = sysTimestampLock();
  current_ticks = tickGet();

  tick_diff = ((double)current_ticks - (double)last_ticks)*microseconds_per_tick;
  
  jiffy_diff = ((double)current_jiffies - (double)last_jiffies)*microseconds_per_jiffy;
  
  micro_diff = tick_diff + jiffy_diff;

  printf("micro_diff = %lf\n", micro_diff);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?