欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機延時函數為什么要用兩個變量i ;j來循環? [打印本頁]

作者: 華仔51    時間: 2017-9-18 20:11
標題: 單片機延時函數為什么要用兩個變量i ;j來循環?
51單片機延時函數
delay(uchar t)
{
   uchar i,j;
   for(i=0;i<t;i++)
   for(j=0;j<t;j++);
}
為什么要用兩個變量i ;j來循環?

作者: blackstar    時間: 2017-9-19 00:00
這里只是你寫的延時函數,這樣寫就這樣用。
作者: blackstar    時間: 2017-9-19 00:03
這里只是你寫的延時函數而已,這樣寫就這樣用。
你也可以這樣寫延時函數:
typedef unsigned int u8;
void delay(u8 i)
{
      while(i--);
}
作者: 魯翔成    時間: 2017-9-19 08:06
一個外循環一個內循環,為了增加延時呀
作者: HC6800-ES-V2.0    時間: 2017-9-19 08:11
第一:循環變量是unsigned char型的,一次循環不夠時間
第二:可以調節變量的值,形成不同的延時時間
第三:還可以再加循環的,誰說只能是兩個變量?
作者: 漫步經心    時間: 2017-9-19 08:49
你試試用一個能不能控制到你想要的延時時間
作者: 13476011951    時間: 2017-9-19 09:36
一個變量延時太短  再加一個延時更長
作者: shw7610    時間: 2017-9-19 10:09
不一定非要用i,  j  也可以用x、y來循環
作者: xiaoxiaozhu123    時間: 2017-9-19 10:20
可以寫成不同的延時時間吧
作者: kaidxp66    時間: 2017-9-19 10:22
與你的主頻和延時時長有關。不是一定要i,j的。延時時間短完全可以只要一個i或j(單個變量)。還可以用定時器來定時。
作者: crcok    時間: 2017-9-19 14:04
增加延時用
作者: 笨鳥想飛    時間: 2017-9-19 14:51
只是例程習慣,一般不去深究
作者: chengwh    時間: 2017-9-19 16:05
時間短的話,一個變量循環也可以。
作者: weidacn    時間: 2017-9-19 20:56
經驗延時,循環嵌套是為了次數更多
作者: 童000000    時間: 2017-9-19 22:14
你這樣寫代表延時t*t微秒,是你輸入的平方。
作者: 童000000    時間: 2017-9-19 22:17
你的函數延時t*t微秒,如果只有一個函數是延時t微秒。
作者: lianghuanan    時間: 2018-12-2 11:41
增加延時時間,i*j這樣時間就更長了,效果都是一樣的
作者: 794732706    時間: 2018-12-2 14:16
可以只用一個啊,時間段一些
作者: 2089235932    時間: 2018-12-2 15:50
i,j,兩者互乘,增加延時
作者: 探路    時間: 2018-12-2 16:55
這個延時涉及到執行for循環占用機器周期的問題,你也可以不這樣寫,另外你也可以用stc-isp設定好晶振頻率自動生成延時函數
作者: alex_wendell    時間: 2018-12-2 17:11
首先,你必須搞清楚延時函數的原理,它實際上只是僅僅執行一些,沒有實質性影響的所謂“無意義指令”。兩重for的作用:簡單的說,就像高中數學中的“乘法原理”一樣,這樣可以很輕易的迅速增加上述“無意義指令”的數目。這么解釋,不知道你看明白了沒。 
作者: sibling520    時間: 2018-12-2 17:22
延時時長=循環的指令時間*循環次數
作者: citizennju    時間: 2018-12-2 19:00
兩重循環可以使延遲的實踐大為增加,但也要消耗大量的CPU時間,建議用定時器。
作者: citizennju    時間: 2018-12-2 19:01
循環可以使延遲的實踐大為增加,但也要消耗大量的CPU時間,建議用定時器。
作者: leon112    時間: 2018-12-2 19:13
習慣問題
作者: 這一生只為你    時間: 2018-12-2 19:21
這兩個參數名字隨便起,a,b,c,d,l,m,n,x,y都可以,這只是個名字而已
作者: 22311    時間: 2018-12-2 20:07
增加延時
作者: niccol    時間: 2018-12-2 23:29
效要和一個別一樣的
作者: PBL    時間: 2018-12-3 08:28
就兩個名字而以,什么都行,只要不是關鍵字。
作者: hello_liu    時間: 2018-12-3 14:04
雙重循環增加時間的效果
作者: zhuanzhuba    時間: 2018-12-3 19:59
i和j在C語言中常用作循環變量;單片機程序用C語言編寫,故也用這i和j循環;
作者: zhuanzhuba    時間: 2018-12-3 20:01
i和j是C語言常用的循環變量;單片機程序用C語言編寫,故也用這兩個變量循環;兩個循環為了增加時間
作者: jybieting    時間: 2020-6-28 07:24
alex_wendell 發表于 2018-12-2 17:11
首先,你必須搞清楚延時函數的原理,它實際上只是僅僅執行一些,沒有實質性影響的所謂“無意義指令”。兩重 ...

謝謝解釋,理解了!
作者: wwh2382    時間: 2020-6-28 15:58
每個程序員都有自己的編程習慣。寫這個延時函數的程序員恰好不愿意寫大數。另外大數容易寫錯,拆成兩個數可以避免出錯,是個不錯的編程習慣




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1