为什么这段代码要这么写

新手上路,请多包涵
    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()会不会更好一些,这样写不会效率很低吗

阅读 1.1k
1 个回答

使用 sleep 无法精准控时,因为代码执行也是需要耗时的。所以使用 time 就可以把时间准确控制在一个时间周期内。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题