chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

CHANBAEK ? 來(lái)源:頭條號(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、若滿足

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

    關(guān)注

    5

    文章

    920

    瀏覽量

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

    關(guān)注

    8

    文章

    689

    瀏覽量

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

    關(guān)注

    3

    文章

    4421

    瀏覽量

    67828
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

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

    關(guān)注

    2

    文章

    75

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    請(qǐng)問(wèn)CW32F030的硬件注意事項(xiàng)有哪些?

    CW32F030的硬件注意事項(xiàng)有哪些
    發(fā)表于 12-25 08:20

    請(qǐng)問(wèn)IAP功能升級(jí)流程中有哪些注意事項(xiàng)?

    IAP 功能升級(jí)流程中有哪些注意事項(xiàng)?
    發(fā)表于 12-23 07:55

    BNC轉(zhuǎn)接頭接線注意事項(xiàng)

    本文從工程角度總結(jié)BNC轉(zhuǎn)接頭接線過(guò)程中的關(guān)鍵注意事項(xiàng),涵蓋阻抗匹配、接線規(guī)范、工藝選擇及檢測(cè)要點(diǎn),幫助用戶避免常見(jiàn)接線問(wèn)題。
    的頭像 發(fā)表于 12-19 14:04 ?611次閱讀
    BNC轉(zhuǎn)接頭接線<b class='flag-5'>注意事項(xiàng)</b>

    迅為RK3588開(kāi)發(fā)板Android系統(tǒng)燒寫(xiě)及注意事項(xiàng)

    迅為RK3588開(kāi)發(fā)板Android系統(tǒng)燒寫(xiě)及注意事項(xiàng)
    的頭像 發(fā)表于 12-03 15:17 ?7392次閱讀
    迅為RK3588開(kāi)發(fā)板Android系統(tǒng)燒寫(xiě)及<b class='flag-5'>注意事項(xiàng)</b>

    驅(qū)動(dòng)板PCB布線的注意事項(xiàng)

    PCB Layout 注意事項(xiàng) 1)布局注意事項(xiàng): ●● 整體布局遵循功率回路與小信號(hào)控制回路分開(kāi)布局原則,功率部分和控制部分的 GND 分開(kāi)回流到輸入 GND。 ●● 芯片的放置方向優(yōu)先考慮驅(qū)動(dòng)
    發(fā)表于 12-02 07:40

    Enclustra瑞蘇盈科產(chǎn)品使用注意事項(xiàng)

    我們準(zhǔn)備了關(guān)于瑞蘇盈科產(chǎn)品使用的注意事項(xiàng),旨在幫助客戶更快,更好的使用瑞蘇盈科的產(chǎn)品,實(shí)現(xiàn)以最小化的成本提供理想的解決方案,幫助客戶打造獨(dú)樹(shù)一幟的產(chǎn)品并減少上市時(shí)間。瑞蘇盈科核心板使用注意事項(xiàng):電子
    的頭像 發(fā)表于 11-28 10:28 ?793次閱讀
    Enclustra瑞蘇盈科產(chǎn)品使用<b class='flag-5'>注意事項(xiàng)</b>

    CW32F030在使用中的注意事項(xiàng)有哪些?

    CW32F030在使用中的注意事項(xiàng)有哪些?
    發(fā)表于 11-18 06:20

    在rtthread的main函數(shù)里用HAL_Delay函數(shù)不起作用是哪里的問(wèn)題?

    在rtthread的main函數(shù)里用HAL_Delay函數(shù)無(wú)效,我設(shè)置延時(shí)500ms打印一次,但是實(shí)際上,一秒打印了幾百次,很顯然是HAL_Delay出現(xiàn)了問(wèn)題。用RT_thread_mdelay
    發(fā)表于 09-15 07:53

    emWin AppWizard 開(kāi)發(fā)注意事項(xiàng)有哪些?

    emWin AppWizard 開(kāi)發(fā)注意事項(xiàng)
    發(fā)表于 09-04 06:18

    別讓這些細(xì)節(jié)毀了PCBA!焊接注意事項(xiàng)清單

    一站式PCBA加工廠家今天為大家講講PCBA加工中電子元器件焊接注意事項(xiàng)有哪些?PCBA加工中電子元器件焊接注意事項(xiàng)。 電子元器件焊接關(guān)鍵注意事項(xiàng) 在PCBA加工中,焊接工藝直接影響電路板的可靠性
    的頭像 發(fā)表于 07-23 09:26 ?1491次閱讀

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

    在FPGA設(shè)計(jì)中,PLL(鎖相環(huán))模塊作為核心時(shí)鐘管理單元,通過(guò)靈活的倍頻、分頻和相位調(diào)整功能,為系統(tǒng)提供多路高精度時(shí)鐘信號(hào)。它不僅解決了時(shí)序同步問(wèn)題,還能有效消除時(shí)鐘偏移,提升系統(tǒng)穩(wěn)定性。本文將深入探討智多晶PLL在實(shí)際應(yīng)用中的關(guān)鍵注意事項(xiàng),幫助工程師規(guī)避常見(jiàn)設(shè)計(jì)風(fēng)險(xiǎn)。
    的頭像 發(fā)表于 06-13 16:37 ?1766次閱讀
    智多晶PLL使用<b class='flag-5'>注意事項(xiàng)</b>

    美國(guó)Odyssey奧德賽電池充電注意事項(xiàng)全解析

    Odyssey奧德賽電池充電注意事項(xiàng)全解析 奧德賽電池作為高性能的深循環(huán)鉛酸電池,廣泛應(yīng)用于汽車啟動(dòng)、摩托車、船舶以及備用電源系統(tǒng)中。正確的充電方法不僅能夠延長(zhǎng)電池壽命,還能保障其性能穩(wěn)定發(fā)揮
    的頭像 發(fā)表于 05-19 16:31 ?1282次閱讀
    美國(guó)Odyssey奧德賽電池充電<b class='flag-5'>注意事項(xiàng)</b>全解析

    IGBT器件的防靜電注意事項(xiàng)

    IGBT作為功率半導(dǎo)體器件,對(duì)靜電極為敏感。我將從其靜電敏感性原理入手,詳細(xì)闡述使用過(guò)程中防靜電的具體注意事項(xiàng)與防護(hù)措施,確保其安全穩(wěn)定運(yùn)行。
    的頭像 發(fā)表于 05-15 14:55 ?2162次閱讀

    手機(jī)喇叭氣密性檢測(cè)儀的注意事項(xiàng)

    使用手機(jī)喇叭氣密性檢測(cè)儀的注意事項(xiàng)包括以下幾點(diǎn):一、使用前注意事項(xiàng)仔細(xì)閱讀手機(jī)喇叭氣密性檢測(cè)儀的使用說(shuō)明書(shū),了解設(shè)備的操作方法和注意事項(xiàng)。檢查氣密性檢測(cè)儀的各部件是否完好,包括壓力表、傳感器、連接
    的頭像 發(fā)表于 05-15 13:38 ?887次閱讀
    手機(jī)喇叭氣密性檢測(cè)儀的<b class='flag-5'>注意事項(xiàng)</b>

    設(shè)置射頻網(wǎng)絡(luò)分析儀的測(cè)試條件有哪些注意事項(xiàng)

    射頻網(wǎng)絡(luò)分析儀(VNA)的測(cè)試條件設(shè)置直接影響測(cè)量結(jié)果的準(zhǔn)確性和可靠性。以下從儀器配置、被測(cè)器件(DUT)特性、環(huán)境干擾、校準(zhǔn)與驗(yàn)證四個(gè)維度,系統(tǒng)梳理關(guān)鍵注意事項(xiàng)及解決方案。一、儀器配置與參數(shù)設(shè)置
    發(fā)表于 05-06 16:02