在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于stm32的精確延時(shí)利用系統(tǒng)滴答systick

      基于stm32的精確延時(shí)利用系統(tǒng)滴答systick

      作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
      利用系統(tǒng)滴答定時(shí)器來實(shí)現(xiàn)精確延時(shí),需要以下五步:

      1、設(shè)置滴答定時(shí)器的時(shí)鐘,通過設(shè)置其控制寄存器,選擇外部時(shí)鐘,即為系統(tǒng)時(shí)鐘的八分之一,若系統(tǒng)時(shí)鐘為72M,則滴答定時(shí)器時(shí)鐘為9M。即定時(shí)一秒需要9M個(gè)時(shí)鐘周期。

      本文引用地址:http://www.biyoush.com/article/201611/322267.htm

      2、設(shè)置滴答定時(shí)器的重裝載寄存器的數(shù)值,即需要延時(shí)的時(shí)鐘周期數(shù)。如:若需要延時(shí)20微秒,則重裝載值為20*9.若要延時(shí)20毫秒,則設(shè)置重裝載值為20*9000.

      3、清空滴答定時(shí)器當(dāng)前值寄存器的值,使之為零,以便使能計(jì)數(shù)時(shí)能夠從設(shè)定值開始倒數(shù)計(jì)時(shí)。

      4、設(shè)置滴答定時(shí)器的控制寄存器,開始倒計(jì)數(shù)。

      5、查詢滴答定時(shí)器的狀態(tài)位,定時(shí)時(shí)間到,關(guān)閉定時(shí)器,清空定時(shí)器當(dāng)前值。

      void delay_init(u8 SYSCLK)

      {

      SysTick->CTRL&=0xfffffffb;//控制寄存器,選擇外部時(shí)鐘即系統(tǒng)時(shí)鐘的八分之一(HCLK/8;72M/8=9M)

      fac_us=SYSCLK/8; //定義全局變量,即延時(shí)一微秒所需的的時(shí)鐘周期數(shù)(72/8=9,單位為微妙)

      fac_ms=(u16)fac_us*1000; //一毫秒所需的時(shí)鐘周期數(shù)(9000)

      }

      void Delay_us(u32 nus)

      {

      u32 temp;

      SysTick->LOAD=nus*fac_us; //時(shí)間加載(即延時(shí)多少個(gè)時(shí)鐘周期)

      SysTick->VAL=0x00; //清空計(jì)數(shù)器

      SysTick->CTRL=0x01 ; //開始倒數(shù)

      do

      {

      temp=SysTick->CTRL;

      }

      while(temp&0x01&&!(temp&(1<<16)));//等待時(shí)間到達(dá)

      SysTick->CTRL=0x00; //關(guān)閉計(jì)數(shù)器

      SysTick->VAL =0X00; //清空計(jì)數(shù)器

      }

      或者

      void Delay_us(u32 Nus)

      {

      SysTick->LOAD=Nus*9; //時(shí)間加載 72M主頻

      SysTick->CTRL|=0x01; //開始倒數(shù)

      while(!(SysTick->CTRL&(1<<16))); //等待時(shí)間到達(dá)

      SysTick->CTRL=0X00000000; //關(guān)閉計(jì)數(shù)器

      SysTick->VAL=0X00000000; //清空計(jì)數(shù)器

      }



      關(guān)鍵詞: stm32精確延時(shí)systic

      評(píng)論


      技術(shù)專區(qū)

      關(guān)閉
      ×

      “芯”朋友见面大会
      珠海|11.14|泰克“芯”朋友见面大会珠海站|泰克带您从测试角度看半导体的整条产业链,快来报名抢位吧>>