99久久久久国产-99久久久久国产精品免费-99久久久久久久-99久久久免费精品免费-99久久免费费视频在线观看

131 1300 0010
其他
當(dāng)前位置: 首頁(yè)>> 元件技術(shù)>>其他>>
  • 導(dǎo)航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • STM32單片機(jī)使用定時(shí)器中斷方式實(shí)現(xiàn)毫秒級(jí)延時(shí)的
    STM32單片機(jī)使用定時(shí)器中斷方式實(shí)現(xiàn)毫秒級(jí)延時(shí)的
  • STM32單片機(jī)使用定時(shí)器中斷方式實(shí)現(xiàn)毫秒級(jí)延時(shí)的
  •   發(fā)布日期: 2019-06-04  瀏覽次數(shù): 1,811

    因?yàn)?u>STM32 HAL庫(kù)中僅有對(duì)HAl_Delay()毫秒級(jí)的延時(shí),為實(shí)現(xiàn)精確的微秒級(jí)延時(shí),就不得不修改Systick,但由于HAL庫(kù)內(nèi)部使用其作為超時(shí)判斷等操作,對(duì)其修改會(huì)發(fā)生不可預(yù)期的錯(cuò)誤,不建議修改。因此,使用通用定時(shí)器進(jìn)行定時(shí)操作。

    STM32單片機(jī)使用定時(shí)器中斷方式實(shí)現(xiàn)毫秒級(jí)延時(shí)的設(shè)計(jì)

     

    參考網(wǎng)上例程,使用定時(shí)器中斷方式實(shí)現(xiàn)延時(shí),代碼如下:

    TIM3溢出時(shí)間=72MHz/(71+1)/(0+1)=1Mhz=1us

    計(jì)數(shù)模式:向上計(jì)數(shù)模式

    使能TIM3中斷

    */

    __IO staTIc uint32_t usDelay=0;

    void Delayms(uint32_t ms)

    {

    Delayus(ms*1000);

    }

    void Delayus(uint32_t us)

    {

    usDelay=us;

    HAL_TIM_Base_Start_IT(&htim3);

    while(usDelay);

    HAL_TIM_Base_Stop_IT(&htim3);

    }

    //重寫(xiě)回調(diào)函數(shù)

    void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

    {

    if(htim-》Instance == TIM3)

    {

    if(usDelay!=0)

    {

    usDelay--;

    }

    }

    }

    雖然說(shuō)以上程序的并沒(méi)什么錯(cuò)誤,但在實(shí)際運(yùn)行中,卻無(wú)法得到正確的運(yùn)行。同時(shí),在進(jìn)行Debug調(diào)試時(shí),單步執(zhí)行又可以正常運(yùn)行。

    主要原因在于:中斷間隔時(shí)間太短,導(dǎo)致中斷函數(shù)還沒(méi)有運(yùn)行完成,其中斷標(biāo)志位卻再次置位,導(dǎo)致在程序卡死。

    因此,關(guān)閉定時(shí)器中斷,采用定時(shí)器輪詢的方式實(shí)現(xiàn)延時(shí),代碼如下:

    /*

    TIM3溢出時(shí)間=72MHz/(71+1)/(0+1)=1Mhz=1us

    計(jì)數(shù)模式:向下計(jì)數(shù)模式

    */

    void Delay_us(uint32_t us){

    uint16_t counter=us&0xffff;

    HAL_TIM_Base_Start(&htim3);

    __HAL_TIM_SetCounter(&htim3,counter);

    while(counter》1)

    {

    counter=__HAL_TIM_GetCounter(&htim3);

    }

    HAL_TIM_Base_Stop(&htim3);

    }

    void Delay_ms(uint32_t ms){

    Delay_us(1000*ms);

    }


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機(jī):131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 www.qingjujia.cn 電話:13113000010 粵ICP備2021111333號(hào)
    主站蜘蛛池模板: 国产综合亚洲欧美日韩一区二区| a级片欧美| 免费看污又色又爽又黄视频| 国产美女视频爽爽爽| 97国产在线视频| 中文字幕久久久久一区| 国产精品福利自产拍网站| 亚州午夜| 99aiav国产精品视频| 男女污污网站| 国产在线爱做人成小视频| 国产麻豆综合视频在线观看| www91在线观看| 日本巨乳中文字幕| 亚洲精品一区二区三区四区五区| 黄色avav| 99精品欧美一区| 国内精品第一页| 欧美精品成人一区二区在线观看 | 黄色在线免费网站| 国产麻豆传媒视频| 久久国产精品免费看| 99久久久久国产| 久久久久免费精品国产小说| 污香蕉视频在线观看| 视频在线一区二区三区| 九色婷婷| 看片网站免费| 色播在线播放| 亚洲ss| 亚洲午夜高清| 在线精品小视频| 777奇米影视笫四色88me久久综合| 亚洲国产一区二区三区最新| 国产精品亚洲第一区在线28石| 久久ww精品w免费人成| 91久久精品青青草原伊人| 亚洲人成在线影院| 国产欧美日韩精品一区二| 精品在线不卡| 美国特级片|