using clock() function time.h

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

using clock() function time.h

1,541 次查看
vrushalitaklika
Contributor III

Hi,

I am trying to use time.h file clock() function.

Here is my code. I am getting -1 as return value for clock() fucntion. 

What is going wrong here, can someone explain

#include "derivative.h" /* include peripheral declarations */
#include <time.h>
#include "MPC577xC.h"
void delay(int milliseconds);
extern void xcptn_xmpl(void);

void delay(int milliseconds)
{
clock_t ticks1 = clock(), ticks2 = ticks1;
clock_t target = milliseconds * CLOCKS_PER_SEC;
while ( ( ticks2 - ticks1) < target)
ticks2 = clock();
}

int main(void)
{
volatile int counter = 0;
int x;

   xcptn_xmpl (); /* Configure and Enable Interrupts */

   SIU.PCR[114].R= 0x0200;
   SIU.GPDO[114].B.PDOn = 0x0;
   for(x=0;x<10;x++)
   {
      SIU.GPDO[114].R = 1;
      delay(250);
      SIU.GPDO[114].R = 0;
   }

}

标签 (1)
1 回复

1,323 次查看
martin_kovar
NXP Employee
NXP Employee

Hello,

Return code -1 is correct, because the microcontroller does not have any resources, how to return you correct time.

 

This is the clock function description:

This function returns the calling process' current CPU time. If the CPU time is not available or cannot be represented, clock returns the value (clock_t)(-1).

 

and this is the time function description:

The time function returns the current calendar time as a value of type time_t. If the argument result is not a null pointer, the calendar time value is also stored in *result. If the current calendar time is not available, the value (time_t)(-1) is returned.

 

So you cannot simply use these functions. The way, how to use these functions exists, but it will be pretty difficult and I do not have any experience with it. Please look at the follow  URL:

 

http://stackoverflow.com/questions/15030123/how-does-the-clock-function-in-ctime-access-the-system-c...

Regards,

Martin