[問題] 關於clock()回傳負值
目前遇到一個問題
是寫一段程式 每20ms把值寫到檔案內
透過用clock計算有沒有超過20ms
程式碼 截錄如下
char i=1;
clock_t start_time, min_time; //long int , unsiged long int
start_time = clock();
do{
min_time = clock(); /* mircosecond */
total_time1= (double)(min_time - start_time)/(double)CLOCKS_PER_SEC;
if(total_time1>=(0.02*i))
{
fprintf(fft1," %-6.2f,\n",預寫入之值);
count+= 0.02;
i++;
}
if(count>=我設定的時間)
關檔結束;
}while(1);
但是設定的時間只要超過40分鐘 clock傳回來的值就會變負值
看起來是溢位的問題 start_time, min_time的型態
我有設過long int , unsiged long int,但都一樣是負值
想請問板上的大大
有沒有解決這方面的經驗 可以指導一下
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.245.165
→
07/24 21:38, , 1F
07/24 21:38, 1F
環境 linux arm kernel 2.6.10
有嘗試使用usleep()直接delay 20ms
不過時間一久 誤差大的驚人@@
※ 編輯: rodmaner 來自: 111.241.58.185 (07/24 22:43)
→
07/24 22:45, , 2F
07/24 22:45, 2F
→
07/24 22:46, , 3F
07/24 22:46, 3F
→
07/24 22:47, , 4F
07/24 22:47, 4F
推
07/24 22:50, , 5F
07/24 22:50, 5F
→
07/24 23:18, , 6F
07/24 23:18, 6F
→
07/24 23:22, , 7F
07/24 23:22, 7F
→
07/24 23:22, , 8F
07/24 23:22, 8F
→
07/24 23:28, , 9F
07/24 23:28, 9F
推
07/25 02:25, , 10F
07/25 02:25, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章