while (1)
{
time(&tim2);
if (tim != tim2)
{
tim = tim2;
localtime_r(&tim, &ttm);
CurTemp = TemperatureGet();
printf("%02d:%02d:%02d Temp:%.1f℃\r\n", ttm.tm_hour, ttm.tm_min, ttm.tm_sec, CurTemp);
TemperatureCtrl(CurTemp, 23.0, 0.5);
}
}
通过调用sleep()会不会更好一些,这样写不会效率很低吗
使用
sleep
无法精准控时,因为代码执行也是需要耗时的。所以使用time
就可以把时间准确控制在一个时间周期内。