2
A
回答
3
time(2)
是一個標準的C函數,用於獲取自該時代(1970年1月1日午夜)以秒計的當前時間。爲了使減量定時器,你可以做這樣的事情:
time_t startTime = time(NULL);
time_t timerDuration = 10; // 10 second timer
time_t endTime = startTime + timerDuration;
while(1)
{
time_t currTime = time(NULL);
time_t timeLeft = endTime - currTime;
if(timeLeft < 0)
{
// timer has finished
break;
}
// do stuff - preferably don't spin at 100% CPU
}
如果需要超過1秒爲增量更精確,您可以使用特定於平臺的功能,如gettimeofday(3)
(POSIX)或GetLocalTime
(視窗) 。
+0
感謝您的回覆!我什麼時候初始化倒計時?例如我只想在特定條件之後開始倒計時。 – NLed 2011-12-15 20:16:31
1
它看起來像你想異步計時器。在一個8位控制器上,我想你沒有多線程。但是你可能直接訪問硬件定時器;大多數8位控制器有幾個。根據需要分配一個定時器,或者使用已知週期的現有定時器。這是一樣有效的,你可以得到。
每當計時器滴答時,您都會收到一箇中斷。這可能是每隔一秒或更頻繁。更新一個保留時間的變量,並從中斷處理程序返回(或者,如果掛接用於其他需要的計時器,則將控件傳遞給鏈接處理程序)。
如果計時變量超過閾值,那就是您的事件;採取行動。請務必不要讓此操作花費太長時間,並且請諮詢您的控制器參考資料,瞭解中斷處理程序中不允許的操作。
相關問題
- 1. 創建一個簡單的計時器來計算秒,分鐘和小時
- 2. 計時器每秒鐘幾秒
- 3. 創建一個計時器,每秒鐘運行一次?
- 4. 使用分鐘和秒鐘的簡單Jquery計時器
- 5. 我需要創建一個具有小時,分鐘和秒鐘的計時器
- 6. 在Android中製作三秒鐘定時器的最簡單方法是什麼?
- 7. 最簡單的方法來創建一個HWND
- 8. 最簡單的方法來創建一個動畫3D卡通
- 9. 簡單的方法來創建顯示幾十個圖標?
- 10. React JS,在組件內創建一個時鐘計時器
- 11. 查找在一秒鐘或兩秒鐘內創建的文件
- 12. 最簡單的方法來在PHP上創建多個INSERT
- 13. 爲什麼我的計時器在每毫秒和幾秒鐘內消失?
- 14. LocalDateTime在幾秒鐘內
- 15. 在幾秒鐘內獲得時差?
- 16. 在excel中創建一個計時器,在運行時顯示十分之幾秒鐘hundreths
- 17. 從幾毫秒到幾分鐘秒的JavaScript倒計時腳本
- 18. 最簡單的方法來總計列?
- 19. 如何在幾秒鐘內將計時器從倒計時轉換回數分鐘計時?
- 20. 最簡單的方法來創建一個模擬/存根一個FilterUserResponseEvent實例?
- 21. 什麼是簡單的方法來添加一個計時器的方法
- 22. 創建個人計時器激活後幾分鐘
- 23. UIImagePickerController創建掛起幾秒鐘
- 24. 在QT中創建一個簡單的時鐘
- 25. 計數器在幾秒鐘內閒置jquery
- 26. 批處理腳本在幾秒鐘內計算時間差異
- 27. 在angularjs中創建html和xml內容的最簡單方法
- 28. 如何在幾秒內用ReSharper創建一個方法參數對象?
- 29. 什麼是一個簡單的方法來做一個計時器?
- 30. 最簡單的方法來創建一個自定義的linux發行版
請先嚐試谷歌:http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_19.html – Jon 2011-12-15 20:11:18