<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51學(xué)習(xí)之延時(shí)程序

          51學(xué)習(xí)之延時(shí)程序

          作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
          延時(shí)本是一簡(jiǎn)單的事。在上學(xué)時(shí)也學(xué)過(guò),上班后也見(jiàn)人家用。就是一簡(jiǎn)單的for循環(huán)?。?div>可是我同樣寫(xiě)了??墒遣荒苎訒r(shí)啊。有這樣的么?
          上網(wǎng)小查了下說(shuō)是:你定義參數(shù)是char型,就只能到256;是int 型,就取到65535.
          問(wèn)題出來(lái)了,我想延時(shí)長(zhǎng)點(diǎn),定義的int,直接填了150000.無(wú)知是可怕的??!吸取教訓(xùn),改到了50000行了吧?
          一運(yùn)行,還是不行!
          沒(méi)辦法,只好調(diào)人家原程序了。人用的是兩級(jí)for循環(huán),50000*3 。一試成了。
          再看自己的,還是不行。
          照人家的改自己的程序,不行,不行,還是不行。
          一個(gè)字一個(gè)字對(duì),發(fā)現(xiàn)問(wèn)題了,人家定義uint ,我的是int ,就這嗎?可是,可是,沒(méi)多大差別吧?算了,改改試試。一改unit ,成了。
          看來(lái)問(wèn)題就是這了,仔細(xì)想,終于想明白了這里頭的玄機(jī)。
          uint 0-65535 int -32767-32768 我用的int ,我給人填數(shù)50000,人都不知這是啥,還能延時(shí)才奇怪了!改成unit,自然成了。
          程序如下:
          Delay()
          {int i,j;
          for(i=0;i<32000;i++);
          }
          從網(wǎng)上看的:一般延時(shí)us,只用單個(gè)for,一般ms級(jí)的都用兩個(gè)for就OK了。要是精確定時(shí),就要用定時(shí)器了。我自己總結(jié)了下:?jiǎn)蝔or,寫(xiě)到5000,還能看到燈閃;最在寫(xiě)到32000,燈閃,能知道,但是看不到滅的狀態(tài)。雙for,寫(xiě)到7000*3,差不多就可看到滅的狀態(tài)。如果,執(zhí)行一句要1us,大概就是20ms.至少要到ms級(jí)人眼才能識(shí)別。



          關(guān)鍵詞: 51學(xué)習(xí)延時(shí)程

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();