在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SysTick與HAL_Delay的關(guān)系與注意事項(xiàng)

CHANBAEK ? 來源:頭條號(hào)秋天滴風(fēng) ? 作者:頭條號(hào)秋天滴風(fēng) ? 2023-04-21 11:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SysTick與HAL_Delay的關(guān)系與注意事項(xiàng)

本文將介紹SysTick與HAL_Delay()函數(shù)之間的關(guān)系,以及使用HAL_Delay()函數(shù)的注意事項(xiàng);

一.HAL_Delay()函數(shù)實(shí)現(xiàn)的原理、與SysTick的關(guān)系

下面我們先看一下HAL_Delay函數(shù)的源碼

__weak void HAL_Delay(uint32_t Delay)
{
  uint32_t tickstart = HAL_GetTick();
  uint32_t wait = Delay;

  /* Add a freq to guarantee minimum wait */
  if (wait < HAL_MAX_DELAY)
  {
    wait += (uint32_t)(uwTickFreq);
  }

  while((HAL_GetTick() - tickstart) < wait)
  {
  }
}

從源碼可以看出該函數(shù)將我們傳入的參數(shù)與HAL_GetTick()-tickstart比較,若不滿足條件則退出while、若滿足

接下來我們追一下HAL_GetTick()的源代碼:

__weak uint32_t HAL_GetTick(void)
{
return uwTick;
}

接著追一下uwTick ,發(fā)現(xiàn)在下面這個(gè)函數(shù)中對(duì)它的值進(jìn)行了操作:

__weak void HAL_IncTick(void)
{
uwTick += uwTickFreq;
}

接著追一下uwTickFreq 發(fā)現(xiàn)uwTickFreq = 1,接著追一下HAL_IncTick(void)函數(shù):

發(fā)現(xiàn)HAL_IncTick(void)函數(shù)是在SysTick的中斷回調(diào)函數(shù)內(nèi)調(diào)用的;

綜上可知HAL_Delay與SysTick的關(guān)系:HAL_Delay函數(shù)的執(zhí)行、最終是依賴于SysTick的每觸發(fā)一次SysTick的中斷耗時(shí)1ms,HAL_GetTick()-tickstart會(huì)增大1、知道差值等于HAL_Delay的傳入?yún)?shù)。

二、由SysTick與HAL_Delay之間的關(guān)系可知,我們?cè)谑褂肏AL_Delay的時(shí)候需要注意:當(dāng)在中斷中使用了HAL_Delay函數(shù),則該中斷的搶占優(yōu)先級(jí)必須低于SysTick中斷的優(yōu)先級(jí),否則會(huì)導(dǎo)致SysTick中斷不能搶占該中斷函數(shù)、最終導(dǎo)致HAL_GetTick()-tickstart的值不會(huì)變,從而陷入死循環(huán)中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    905

    瀏覽量

    42619
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    669

    瀏覽量

    30236
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4376

    瀏覽量

    64524
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    13533
  • HAL
    HAL
    +關(guān)注

    關(guān)注

    2

    文章

    72

    瀏覽量

    13048
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    掃描電鏡的日常維護(hù)有哪些注意事項(xiàng)

    掃描電鏡日常維護(hù)的注意事項(xiàng)
    的頭像 發(fā)表于 03-24 11:38 ?430次閱讀
    掃描電鏡的日常維護(hù)有哪些<b class='flag-5'>注意事項(xiàng)</b>?

    智多晶DDR Controller使用注意事項(xiàng)

    最后一期我們主要介紹智多晶DDR Controller使用時(shí)的注意事項(xiàng)
    的頭像 發(fā)表于 01-24 11:14 ?667次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項(xiàng)</b>

    AN20-儀表低通濾波器的應(yīng)用注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《AN20-儀表低通濾波器的應(yīng)用注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 01-12 11:25 ?0次下載
    AN20-儀表低通濾波器的應(yīng)用<b class='flag-5'>注意事項(xiàng)</b>

    多層板埋孔設(shè)計(jì)注意事項(xiàng)

    多層板埋孔設(shè)計(jì)注意事項(xiàng)
    的頭像 發(fā)表于 12-20 16:06 ?764次閱讀

    PCBA生產(chǎn)注意事項(xiàng)

    ? ?PCBA生產(chǎn)注意事項(xiàng)。 長(zhǎng)按識(shí)別二維碼關(guān)注[現(xiàn)代電子裝聯(lián)工藝技術(shù)]訂閱號(hào),開啟我們共同的學(xué)習(xí)之旅 end
    的頭像 發(fā)表于 11-15 17:04 ?812次閱讀
    PCBA生產(chǎn)<b class='flag-5'>注意事項(xiàng)</b>

    TPA3140D2 EMC設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《TPA3140D2 EMC設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 10-26 11:02 ?0次下載
    TPA3140D2 EMC設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    如何為住宅配置靜態(tài)IP:步驟與注意事項(xiàng)

    為住宅配置靜態(tài)IP地址,通常涉及以下步驟和注意事項(xiàng)
    的頭像 發(fā)表于 10-24 08:02 ?921次閱讀

    TMS320DM644x熱注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《TMS320DM644x熱注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 10-16 11:35 ?0次下載
    TMS320DM644x熱<b class='flag-5'>注意事項(xiàng)</b>

    TPS65233、TPS65235的LNB設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《TPS65233、TPS65235的LNB設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 09:58 ?4次下載
    TPS65233、TPS65235的LNB設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    脈沖式充電器的使用注意事項(xiàng)

    脈沖式充電器的使用注意事項(xiàng)主要包括以下幾個(gè)方面: 一、安全注意事項(xiàng) 用電安全 :在充電過程中,應(yīng)始終保持警惕,注意用電安全,避免觸電和短路等危險(xiǎn)情況的發(fā)生。 防火防災(zāi) :避免在易燃易爆物品附近進(jìn)行
    的頭像 發(fā)表于 09-26 16:05 ?2341次閱讀

    繞線電感定制的注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《繞線電感定制的注意事項(xiàng).docx》資料免費(fèi)下載
    發(fā)表于 09-20 11:24 ?4次下載

    共模電感定制的注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《共模電感定制的注意事項(xiàng).docx》資料免費(fèi)下載
    發(fā)表于 09-04 11:47 ?0次下載

    LiFePO4設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《LiFePO4設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 09-03 09:24 ?0次下載
    LiFePO4設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    人機(jī)接口電感式觸摸按鈕的設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《人機(jī)接口電感式觸摸按鈕的設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 08-30 09:30 ?2次下載
    人機(jī)接口電感式觸摸按鈕的設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    cubeide中使用Hal_Delay()時(shí),每次調(diào)試總會(huì)跳轉(zhuǎn)到異常狀態(tài),如何解決?

    cubeide 中使用Hal_Delay()時(shí),每次調(diào)試總會(huì)跳轉(zhuǎn)到異常狀態(tài)。 Break at address \"0xaf5cf47e\" with no debug
    發(fā)表于 07-23 07:52
    主站蜘蛛池模板: www四虎在线高清 | 亚洲视频 欧美视频 | 手机看片国产免费现在观看 | 黄色网一级片 | 欧美黑人换爱交换乱理伦片 | 午夜影院啊啊啊 | 天天看天天摸色天天综合网 | 久久久久久久国产精品影院 | 久久精品最新免费国产成人 | 欧美xxxxx性视频 | 高清一区高清二区视频 | 国模私拍一区二区三区 | 亚洲成网站www久久九 | 99在线国产 | 丁香啪啪天堂激情婷婷 | 91精品国产色综合久久不卡蜜 | 毛片网在线| 国产aa| 日本一区二区三区四区在线观看 | 天天激情综合 | 性xxx无遮挡 | 户外露出 自拍系列 | 天天天射| 正在播放91大神调教偷偷 | 免费在线观看一级片 | 中文字幕一精品亚洲无线一区 | 日本69sexmovies| 天堂bt在线种子网 | 男人透女人超爽视频免费 | 在线观看精品视频看看播放 | 成人爽a毛片在线视频网站 成人窝窝午夜看片 | 亚洲小younv另类 | 又粗又大又爽又色又过瘾视频 | 男女爱爱免费 | 四虎884tt紧急大通知 | 欧洲一级鲁丝片免费 | 亚洲一区中文字幕在线 | 欧美黄色免费网址 | 国产在线精品一区二区夜色 | 国产成人精品日本亚洲语音1 | 看全色黄大色大片免费 |