void TRCustomUserAutoTest(void (*TestFunction)(void),AutoTestSet_t *TestSet) { time_t rawtime; time_t work_min=0,wait_min=0,current_min=0,start_min=0; //????? struct tm *timeinfo,startTime; unsigned char work_status=0,testing_point=0; //<??????>---------------------------------------------------------------- time(&rawtime); timeinfo=localtime(&rawtime); startTime.tm_mday=timeinfo->tm_mday;//???? startTime.tm_hour=timeinfo->tm_hour;//???? startTime.tm_min=timeinfo->tm_min; start_min=startTime.tm_hour*60+startTime.tm_min;//???????00:00 ?? work_min=0;//????????0 work_status=0; for(testing_point=0;testing_point<TestSet->pTemperature_point;) { DATALOG_MSG= "TEST" ; time(&rawtime); timeinfo=localtime(&rawtime); if(work_status==0) //?? { Temperature=TestSet->pTemperature_table[testing_point]; work_status=0x55;//???????? wait_min=work_min+TestSet->pTemperature_wait_table[testing_point]+TestSet->pWenDukeeptime; SOCKET_INC { JUDGE_VARIABLE(SOCKET,TestSet->pTemperature_table[testing_point],-100,0xFFFFFFF,"temperature"); JUDGE_VARIABLE(SOCKET,timeinfo->tm_hour*1000+timeinfo->tm_min*10,0,0xFFFFFFF,"heat_up_time"); } } else { work_status=0; testing_point++; wait_min=work_min+TestSet->pTesttime; SOCKET_INC { JUDGE_VARIABLE(SOCKET,timeinfo->tm_hour*1000+timeinfo->tm_min*10,0,0xFFFFFFF,"test_time"); } } while(work_min<wait_min) { WAIT(1000mS); time(&rawtime); timeinfo = localtime(&rawtime); //????????? if(timeinfo->tm_mday>=startTime.tm_mday) { current_min=(timeinfo->tm_mday-startTime.tm_mday)*1440; //??????? current_min=current_min+(timeinfo->tm_hour*60+timeinfo->tm_min); } else //???? { break; } work_min=current_min-start_min; } if(work_status!=0) { TestFunction();//?????? } } }
时间: 2023-06-26 19:04:10 浏览: 48
这段代码是一个自动化测试函数,函数名为TRCustomUserAutoTest。它接受两个参数,一个是指向测试函数的指针,另一个是一个包含测试参数的结构体。
在函数内部,它定义了一些变量和结构体,包括时间相关的变量和结构体,以及工作状态和测试点。然后它进入一个循环,在每个测试点进行测试之前先设置温度和等待时间,然后等待一段时间后执行测试函数。在等待期间,它会不断检查当前时间,以确保不会超过预定的测试时间。
在函数的末尾,它会返回并结束。
相关问题
infromaix from_unixtime函数
CSDN的C知道:from_unixtime函数是一个常用的函数,用于将Unix时间戳转换为日期时间格式。在C语言中,可以使用time.h头文件中的time_t和struct tm结构体来实现这个功能。
首先,需要将Unix时间戳转换为time_t类型的变量,可以使用time_t类型来表示从1970年1月1日00:00:00到给定时间点的秒数。可以使用time()函数获取当前时间的Unix时间戳。代码示例如下:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
time(&rawtime);
printf("Current timestamp: %ld\n", rawtime);
return 0;
}
```
然后,使用gmtime()函数将time_t类型的变量转换为struct tm结构体,结构体中包含了年、月、日、时、分、秒等信息。代码示例如下:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
time(&rawtime);
struct tm *timeinfo = gmtime(&rawtime);
printf("Current time: %s", asctime(timeinfo));
return 0;
}
```
以上是将Unix时间戳转换为日期时间格式的基本操作,在实际使用中,还可以根据需要对struct tm结构体进行进一步处理和格式化输出。希望能帮到你!如果还有其他问题,请继续提问。
严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0167 "time_t *" 类型的实参与 "tm *" 类型的形参不兼容 超市系统 D:\华\超市\超市系统\cs.cpp 17这怎么改
这个错误是由于time_t类型的指针和tm类型的指针不兼容导致的。为了解决这个问题,您需要将time_t类型的指针转换为tm类型的指针。
您可以使用gmtime函数将time_t类型的指针转换为tm类型的指针,如下所示:
```
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = gmtime ( &rawtime );
```
然后,您可以将timeinfo指针传递给您的函数,如下所示:
```
your_function(timeinfo);
```
请注意,您需要将your_function替换为实际的函数名称,并根据函数的参数列表进行调整。