循環函數中循環一次需要多少時間
發布時間: 2023-03-13 11:08:18
Ⅰ 在C/C++中,一般for循環中執行一次需要多少時間 比如 for (i=0;i<10000;i++) { ; }
12M的晶振的機器周期是1/12M*12,就是1us
其次不同的單片機執行語句的機器周期也不一定一樣(比如:Atmel
51系列及大多數51的一個機器周期是12個時鍾周期,華邦的只需要4個時鍾周期)。不過大體來說,一條for循環大概8個機器周期,在12M晶振下,通常用以下代碼實現1ms的延時:
void
delayms(unsigned
int
ms)
{
unsigned
char
i;
while(ms--)
{
for(i
=
0;
i
<
120;
i++);
}
}
大概算一下,120*8*1us=1ms,如果需要精確的定時,還是得用定時器。
如果是for
(i=0;i<10000;i++);的話,
那麼
大概算一下,10000*8*1us=80ms
贊同
0|
評論
熱點內容