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

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

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

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

STM32中的SysTick時(shí)鐘源來(lái)自哪里?

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-03 14:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有位朋友在后臺(tái)大概問(wèn)了這樣一個(gè)問(wèn)題:STM32的SysTick時(shí)鐘源是來(lái)自Cortex系統(tǒng)定時(shí)器嗎?

引伸:

為什么STM32CubeMX中Cortex系統(tǒng)定時(shí)器可選擇1分頻(和8分頻)?

1寫在前面

看到這個(gè)問(wèn)題,我在想,這位朋友可能沒(méi)有認(rèn)真看手冊(cè),同時(shí)也存在一個(gè)誤區(qū)。

我順便也搜索了一下,網(wǎng)上很多文章都說(shuō)到:SysTick時(shí)鐘源是來(lái)自Cortex系統(tǒng)定時(shí)器,就是那個(gè)有8分頻的時(shí)鐘

但是,我們實(shí)際應(yīng)用中,SysTick時(shí)鐘源真的是來(lái)自這個(gè)Cortex系統(tǒng)定時(shí)器嗎?

2

SysTick時(shí)鐘初始化代碼

不管是使用標(biāo)準(zhǔn)外設(shè)庫(kù),還是HAL庫(kù),你初始化SysTick,都會(huì)調(diào)用內(nèi)核中的SysTick_Config函數(shù)。

比如:

SysTick_Config(SystemCoreClock / 1000);

初始化調(diào)用這段代碼之后,SysTick將會(huì)實(shí)現(xiàn)1ms中斷一次。

這段代碼實(shí)現(xiàn)1ms中斷一次相信大家都能理解,但是這里SysTick初始化和上面說(shuō)的時(shí)鐘『/8』有關(guān)系嗎?

3

SysTick時(shí)鐘源是來(lái)自哪里?

這個(gè)問(wèn)題只要認(rèn)真看參考手冊(cè)都能找到答案。

RCC通過(guò)AHB時(shí)鐘(HCLK)8分頻后作為Cortex系統(tǒng)定時(shí)器(SysTick)的外部時(shí)鐘。

通過(guò)對(duì)SysTick控制與狀態(tài)寄存器的設(shè)置,可選擇上述時(shí)鐘或Cortex(HCLK)時(shí)鐘作為SysTick時(shí)鐘。

--來(lái)自參考手冊(cè)

也就是說(shuō)SysTick時(shí)鐘源可以來(lái)自兩個(gè)地方:

AHB時(shí)鐘8分頻

HCLK(內(nèi)核)時(shí)鐘


通過(guò)SysTick控制與狀態(tài)寄存器的設(shè)置進(jìn)行選擇時(shí)鐘源。

具體就是通過(guò)CLKSOURCE(時(shí)鐘源)這一Bit位來(lái)選擇:

再次看SysTick_Config函數(shù)源碼:

__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks){ if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) { return (1UL); /* Reload value impossible */ } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */}

你會(huì)發(fā)現(xiàn),其實(shí)源碼已經(jīng)默認(rèn)使用HCLK(內(nèi)核)時(shí)鐘。

而SysTick_Config函數(shù)屬于內(nèi)核(如core_cm3.h)已經(jīng)寫好源碼,一般我們不去修改。

所以,到這里,你會(huì)明白:SysTick時(shí)鐘源其實(shí)就是用的HCLK(內(nèi)核)時(shí)鐘。

4

STM32CubeMX...可選擇1分頻

分析上面問(wèn)題的時(shí)候,我突然發(fā)現(xiàn)一個(gè)問(wèn)題:為什么STM32CubeMX中Cortex系統(tǒng)定時(shí)器可選擇1分頻(和8分頻)?

(使用STM32CubeMX V5.1.0)

我通過(guò)配置1分頻和8分頻,各自生成代碼,進(jìn)行對(duì)比,發(fā)現(xiàn)生成的代碼完全一樣。

然后,我又查看手冊(cè),RCC時(shí)鐘樹(shù)中的這個(gè)位置是固定『/8』,也沒(méi)有看到可『/1』的說(shuō)明。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373475
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1971

    瀏覽量

    135004
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    220

    瀏覽量

    48802
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    SG-210STF有源晶振在5G基站數(shù)據(jù)中心中的應(yīng)用_高精度時(shí)鐘

    在通信基站、數(shù)據(jù)中心、精密儀器乃至自動(dòng)駕駛系統(tǒng),一個(gè)微小卻至關(guān)重要的部件正默默維系著整個(gè)系統(tǒng)的有序運(yùn)轉(zhuǎn)——它就是時(shí)鐘時(shí)鐘信號(hào)的精準(zhǔn)與穩(wěn)定,直接關(guān)乎數(shù)據(jù)傳輸?shù)目煽啃浴⑾到y(tǒng)同步的精確
    的頭像 發(fā)表于 02-27 09:44 ?87次閱讀
    SG-210STF有源晶振在5G基站數(shù)據(jù)中心中的應(yīng)用_高精度<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>源</b>

    systick來(lái)做內(nèi)部時(shí)鐘信號(hào)源

    采用默認(rèn)時(shí)鐘配置,并初始化systick為1mS定時(shí),在systick對(duì)32位的uwTick變量進(jìn)行持續(xù)加1(計(jì)滿后變?yōu)?)。 InitTick( 24000000 );//初始
    發(fā)表于 01-27 11:14

    CW32系統(tǒng)滴答SysTick定時(shí)器詳解

    Cortex-M0+處理器內(nèi)置有一個(gè)SysTick定時(shí)器,通常用于嵌入式操作系統(tǒng)的多任務(wù)切換,在不使用操作系統(tǒng)的應(yīng)用,亦可作為其它用途,如定時(shí)、計(jì)時(shí)或者為需要周期性執(zhí)行的任務(wù)提供中斷
    發(fā)表于 01-21 07:20

    LAT1215+如何讓 STM32WB 在沒(méi)有 LSE 時(shí)運(yùn)行 BLE 應(yīng)用程序

    首先 LSE 可作為 STM32WB RF Wakeup 和 RTC 的時(shí)鐘STM32WB RF Wakeup 和 RTC 的時(shí)鐘
    發(fā)表于 01-09 10:55 ?0次下載

    MCU低功耗應(yīng)用

    域,選擇適當(dāng)?shù)?b class='flag-5'>時(shí)鐘。 ?? 設(shè)置 SYSCTRL_CR0 寄存器的 HCLKPRS 位域,降低 HCLK 頻率。 ?? 設(shè)置 SYSCTRL_CR0 寄存器的 PCLKPRS 位域,降低 PCLK
    發(fā)表于 11-27 07:26

    使用系統(tǒng)定時(shí)器SysTick來(lái)實(shí)現(xiàn)精確延時(shí)微秒和毫秒函數(shù)

    != 0);}在使用延時(shí)函數(shù)之前,只需要進(jìn)行系統(tǒng)時(shí)鐘的更新即可,當(dāng)然也可以不更新,因?yàn)樵诔绦蛑爸?,系統(tǒng)啟動(dòng)文件已經(jīng)執(zhí)行了系統(tǒng)時(shí)鐘更新。 總結(jié) 由于SysTick定時(shí)器是所有的
    發(fā)表于 11-20 07:12

    PWM、定時(shí)器、SysTick 區(qū)別及應(yīng)用場(chǎng)景

    在單片機(jī)和嵌入式開(kāi)發(fā),經(jīng)常會(huì)遇到PWM(脈寬調(diào)制)、定時(shí)器、SysTick(系統(tǒng)滴答定時(shí)器)這幾個(gè)詞。很多初學(xué)者容易把它們混為一談,以為都是“定時(shí)相關(guān)的東西”。其實(shí),它們?cè)诒举|(zhì)和應(yīng)用上有明顯差別
    的頭像 發(fā)表于 11-17 10:53 ?525次閱讀
    PWM、定時(shí)器、<b class='flag-5'>SysTick</b> 區(qū)別及應(yīng)用場(chǎng)景

    systick時(shí)鐘基地址無(wú)法找到怎么解決?

    在操作systick的時(shí)候發(fā)現(xiàn)無(wú)法找到它的基地址,查看sdk可以發(fā)現(xiàn)是0xd1000000,但是在手冊(cè)找不到對(duì)應(yīng)的介紹,甚至都找不到對(duì)應(yīng)的手冊(cè)。如下圖所示,讓參見(jiàn)Bumblebee內(nèi)核簡(jiǎn)明數(shù)據(jù)手冊(cè)
    發(fā)表于 11-07 08:11

    Proteus配置STM32外部時(shí)鐘HSE如何配置

    有大佬會(huì)配置ProteusSTM32F103C8的外部時(shí)鐘嗎 這個(gè)proteus打印不出來(lái)數(shù)據(jù),但是在實(shí)物的連接可以正常打印 代碼
    發(fā)表于 11-02 13:54

    SysTick系統(tǒng)滴答定時(shí)器簡(jiǎn)介

    SysTick—系統(tǒng)定時(shí)器是屬于CM33內(nèi)核的一個(gè)外設(shè),內(nèi)嵌在NVIC。系統(tǒng)定時(shí)器是一個(gè)24bit的向下遞減的計(jì)數(shù)器,計(jì)數(shù)器每計(jì)數(shù)一次的時(shí)間為 1/SYSCLK,一般我們?cè)O(shè)置系統(tǒng)時(shí)鐘
    的頭像 發(fā)表于 09-23 09:50 ?1631次閱讀
    <b class='flag-5'>SysTick</b>系統(tǒng)滴答定時(shí)器簡(jiǎn)介

    為什么使用以下命令初始化系統(tǒng)時(shí)鐘時(shí),HCLK的時(shí)鐘無(wú)法切換到PLL?

    為什么使用以下命令初始化系統(tǒng)時(shí)鐘時(shí),HCLK的時(shí)鐘無(wú)法切換到PLL?
    發(fā)表于 08-26 08:22

    瑞薩RA系列FSP庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南(29)CGC(時(shí)鐘生成電路)時(shí)鐘控制

    Circuit,中文譯為“時(shí)鐘生成電路”,或者也可以叫它“時(shí)鐘控制電路”。 13.1.1 時(shí)鐘 我們學(xué)過(guò)《數(shù)字邏輯電路》知道,在芯片集成電路的系統(tǒng)
    的頭像 發(fā)表于 08-05 14:02 ?3444次閱讀
    瑞薩RA系列FSP庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南(29)CGC(<b class='flag-5'>時(shí)鐘</b>生成電路)<b class='flag-5'>時(shí)鐘</b>控制

    0STM32SysTick是個(gè)啥?咋用?(可下載)

    的使能位清除,就永不停息。SysTick在《STM32xx中文參考手冊(cè)》里面基本沒(méi)有介紹,其詳細(xì)介紹,內(nèi)核編程手冊(cè)。在工程我們將以
    發(fā)表于 04-01 14:52 ?0次下載

    stm32h7s78 rcc pll2時(shí)鐘使能失敗的原因?

    使用的板卡是 stm32h7s78-dk,啟動(dòng)流程是 boot + flash app 的方式,boot 參考的 xip 示例,xip 時(shí)鐘綁定在 hclk 上。 問(wèn)題 在 app 代碼,初始化
    發(fā)表于 03-14 10:33

    STM32哪里可以看出芯片是否支持外部存儲(chǔ)擴(kuò)展?

    STM32哪里可以看出芯片是否支持外部存儲(chǔ)擴(kuò)展,從什么可以選出合適的芯片,主要是速度這些,大概率是怎么看的,時(shí)鐘樹(shù)是怎么理解的
    發(fā)表于 03-10 06:16