日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

一、使用場景


第一種情況,在使用普通 STM32 延遲函數(shù),類似于 HAL_Delay(time),由于該函數(shù)是使用循環(huán)去判斷及延時的,所以在執(zhí)行該函數(shù)時整個程序會在此處等待定時器的中斷服務(wù)函數(shù)修改參量使得循環(huán)判決條件不成立,從而繼續(xù)程序的執(zhí)行,同時也達到延遲時間的效果。由于使用的是系統(tǒng)的定時器進行延遲,所以時間相對準確。


第二種情況,當需要周期性的執(zhí)行一個任務(wù)時,將這個函數(shù)放在某個定時器的中斷服務(wù)函數(shù)里,設(shè)置好定時器的時間,完成時產(chǎn)生中斷,從而進入中斷服務(wù)函數(shù)執(zhí)行該函數(shù)。此時,MCU 執(zhí)行中斷程序,只有更高優(yōu)先級的中斷才能打斷當前執(zhí)行的中斷服務(wù)函數(shù),進入更高優(yōu)先級的中斷服務(wù)函數(shù)去執(zhí)行。需要等所有中斷服務(wù)函數(shù)都執(zhí)行完成,才會退回到主函數(shù)。


第三鐘情況,而結(jié)合定時器以及相應(yīng)的標志位,直接在主函數(shù)中達到周期任務(wù)的效果。原理如下:


1、設(shè)置一個全局的標志位flag,初值為 0。

2、在SysTick定時器的中斷服務(wù)函數(shù)中,周期性地對改標志位置 1。

3、主函數(shù) while(1)中,只要使用if(flag){}去判斷條件是否滿足,滿足則執(zhí)行,不滿足則跳過。

第三種情況和第二鐘情況的主要區(qū)別在于,第三種情況的周期任務(wù)函數(shù)是在主函數(shù)中執(zhí)行的,而第二種則是在中斷服務(wù)函數(shù)里執(zhí)行的。使用第二種方式去執(zhí)行周期任務(wù),程序上可能會更好理解一些;使用第三種方式,則在編寫程序時更簡便一點。


這三種情況的使用場景不一樣,第一種是使用 CPU 空操作的方式來延遲固定時間,保證通信時序正確;第二種使用中斷的方式適用于比較重要的周期任務(wù),保證周期準確;第三種則適用于周期不那么重要,只要在 while(1)循環(huán)中,任務(wù)函數(shù)不斷地進行 if(flag)的判斷,滿足就執(zhí)行。


二、代碼演示


  while (1)

  { 

    BSP_LED_On(LED1);

    #if 1 //演示1,普通延時函數(shù) 5s打印一次時間和follow on

        printf_time();

        HAL_Delay(1000); //延時1000ms

        printf("follow on \n ");

    #else //演示2,周期任務(wù) 1s打印一次時間,5s打印一次follow on

        printf_time();

        HAL_Delay(1000);

        Sys_Delay(5000);

        if(flag)

        {

            flag = 0;

            printf("follow on \n");

        }       

    #endif

  }


printf_time()函數(shù)就是將 MCU RTC 中的時間通過串口打印出來,而HAL_Delay()就是普通的延時函數(shù),Sys_Delay()是用于設(shè)置第三種方式中所提的定時任務(wù)的周期,代碼如下:


void Sys_Delay(uint32_t time)

{

  Cycle_Time = time;

}


而中斷服務(wù)函數(shù)的代碼如下:


void SysTick_Handler(void)

{

  HAL_IncTick();

  T1msCount++;

  if(T1msCount>Cycle_Time)

  {

    T1msCount = 0;

    flag = 1;           

  }

}


該中斷每 1ms 產(chǎn)生一次,對計數(shù)值T1msCount進行加 1,當大于周期時間時,清零,并對標志位賦 1,此后主函數(shù)中if(flag)成立,對標志位清零,并執(zhí)行其中的周期任務(wù)。

這里寫圖片描述 
這里寫圖片描述 
圖一對于主函數(shù)中演示 1,代表延遲一秒,打印時間及“follow on”, 
圖二對應(yīng)主函數(shù)在 #if 0 時的演示2,代表延遲一秒打印一次時間,打印”follow on”的周期為5秒。

關(guān)鍵字:STM32  延時函數(shù)  高級用法 引用地址:STM32 延時函數(shù)高級用法分析

上一篇:STM32F429 Discovery FMC驅(qū)動原子4.3寸LCD
下一篇:STM32F4 Discovery USB HID 用到的文件圖解

推薦閱讀

Rethink Robotics 幫助美國PMC公司應(yīng)對勞動力短缺并提高生產(chǎn)力?注塑成型制造商Plastic Molded Concepts (PMC)在其美國威斯康星州的工廠部署了Rethink Robotics的Sawyer智能協(xié)作機器人,促進業(yè)務(wù)增長的同時,亦有利于員工執(zhí)行更富創(chuàng)造力的工作任務(wù)。PMC已經(jīng)進行自動化,以提升公司數(shù)十臺注塑成型機的效率。現(xiàn)階段,Sawyer用于協(xié)助制造壓力表零部件。...
阿爾卑斯阿爾派株式會社(TOKYO 6770、社長:栗山 年弘、總部:東京,以下簡稱“阿爾卑斯阿爾派”)開發(fā)了用于數(shù)據(jù)中心等的光纖網(wǎng)絡(luò)的光纖收發(fā)器用帶反射鏡透鏡陣列“FLHL2系列”,并將從8月開始量產(chǎn)。   近年來,隨著IoT和AI的運用,預計2017年至2022年全球的IP流量將增加(※)至大約3倍以上,今后也會因5G的導入等而進一步增加。數(shù)據(jù)中心等使用...
大數(shù)據(jù)的普及和發(fā)展,給了人們選購產(chǎn)品更多的理性認知。這不,最近銷售很火爆的掃地機器人也通過大數(shù)據(jù)分析的方式,公布了權(quán)威的行業(yè)十大品牌排名。如果你近期有選購掃地機器人的需求,不妨認準掃地機器人排行榜,能夠給你帶來最準確、客觀的數(shù)據(jù)參考哦。接下來,我們一起來看看掃地機器人十大排名吧。第一名:斐納TOMEFON本次排行榜首位是來自德國室內(nèi)凈...
如果你的祖父無需使用繁瑣的試紙和令人困惑的信息就能管理他的糖尿病將會怎樣?如果一個患有糖尿病的7歲兒童不用面對每次扎破手指時的緊張或害怕將會怎樣?這些都是目前連續(xù)血糖監(jiān)測(CGM)技術(shù)所跨越的障礙,也是ADI公司通過在連續(xù)血糖監(jiān)測(CGM)設(shè)備中嵌入突破性技術(shù)所解決的問題。CGM是一款用于糖尿病患者的移動設(shè)備,它將一個微型傳感器插在皮膚下,以全...

史海拾趣

小廣播
設(shè)計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved