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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

引伸:

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

1寫在前面

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

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

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

2

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

不管是使用標(biāo)準(zhǔn)外設(shè)庫,還是HAL庫,你初始化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初始化和上面說的時(shí)鐘『/8』有關(guān)系嗎?

3

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

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

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

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

--來自參考手冊

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

AHB時(shí)鐘8分頻

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


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

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

再次看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分頻

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

(使用STM32CubeMX V5.1.0)

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

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

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

    關(guān)注

    2301

    文章

    11073

    瀏覽量

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

    關(guān)注

    11

    文章

    1946

    瀏覽量

    134126
  • Cortex
    +關(guān)注

    關(guān)注

    2

    文章

    213

    瀏覽量

    48064
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

    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,一般我們設(shè)置系統(tǒng)時(shí)鐘
    的頭像 發(fā)表于 09-23 09:50 ?977次閱讀
    <b class='flag-5'>SysTick</b>系統(tǒng)滴答定時(shí)器簡介

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

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

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

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

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

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

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

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

    stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直沒有呢?

    stm32cubemx按照配置重新生成工程,bsp_SysTick.c一直沒有呢
    發(fā)表于 03-10 07:44

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

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

    ADS1298芯片內(nèi)部有無時(shí)鐘呢?

    我想問一下ADS1298芯片內(nèi)部有無時(shí)鐘呢?如果有那頻率是不是:2.048MHz呢? 如果不外接時(shí)鐘,這個(gè)芯片能否正常工作呢?
    發(fā)表于 02-08 06:06

    一文看懂!時(shí)鐘在數(shù)據(jù)采集系統(tǒng)究竟起到哪些關(guān)鍵作用?

    時(shí)鐘的基本概念 時(shí)鐘是數(shù)據(jù)采集系統(tǒng)的關(guān)鍵組件,負(fù)責(zé)提供同步信號并控制數(shù)據(jù)采集和轉(zhuǎn)換的時(shí)間間隔。時(shí)鐘信號可以由設(shè)備內(nèi)部生成,也可以通過外部信號提供。
    的頭像 發(fā)表于 01-21 13:44 ?962次閱讀
    一文看懂!<b class='flag-5'>時(shí)鐘</b>在數(shù)據(jù)采集系統(tǒng)<b class='flag-5'>中</b>究竟起到哪些關(guān)鍵作用?

    請問AFE4400的外接晶振時(shí)鐘能否用外部時(shí)鐘代替?

    請問AFE4400的外接晶振時(shí)鐘能否用外部時(shí)鐘(如MCU時(shí)鐘引腳輸出)代替?
    發(fā)表于 01-08 07:20

    一千余字解讀stm32時(shí)鐘

    轉(zhuǎn)換為多個(gè)外部設(shè)備的周期性運(yùn)作。這種時(shí)鐘“能量”的傳遞路徑類似于大樹的養(yǎng)分由主干流向各個(gè)分支,因此被稱為時(shí)鐘樹。STM32內(nèi)部也是由多種多樣的電路模塊組合在一起實(shí)現(xiàn)
    的頭像 發(fā)表于 12-30 21:01 ?3087次閱讀
    一千余字解讀<b class='flag-5'>stm32</b><b class='flag-5'>時(shí)鐘</b>樹

    用ADS124S08實(shí)現(xiàn)高精度溫度采集,用內(nèi)部時(shí)鐘好還是外部時(shí)鐘好?

    ADS124S08的規(guī)格書里說明其系統(tǒng)時(shí)鐘可以由內(nèi)部集成的4.096MHz振蕩器提供,也可以由外部時(shí)鐘提供。我想請問一下兩者在轉(zhuǎn)換精度上有多大差異?我要用ADS124S08實(shí)現(xiàn)高精度溫度采集,用內(nèi)部
    發(fā)表于 12-20 08:12

    TLV320ADC6140內(nèi)部有時(shí)鐘嗎?

    datasheet里說有內(nèi)部時(shí)鐘,并建議使用內(nèi)部時(shí)鐘。 但是應(yīng)用文檔中有提到芯片作為i2s的master模式下時(shí)需要外部提供MCLK? 所以,芯片內(nèi)部有時(shí)鐘
    發(fā)表于 12-03 08:12

    本源產(chǎn)品丨高穩(wěn)低相噪時(shí)鐘

    的一致性和穩(wěn)定性同步工作。本源量子憑借自主研發(fā)的高穩(wěn)低相噪時(shí)鐘,成功搭建起連接各個(gè)組件時(shí)序控制單元的橋梁,該時(shí)鐘能夠提供高穩(wěn)定性和高精度頻率時(shí)鐘
    的頭像 發(fā)表于 11-14 01:05 ?784次閱讀
    本源產(chǎn)品丨高穩(wěn)低相噪<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>源</b>

    請問下CDCLVC1106PWR的cLKIN時(shí)鐘輸入管腳可以是來自FPGA或者M(jìn)CU輸出的時(shí)鐘不?

    請問下CDCLVC1106PWR的cLKIN時(shí)鐘輸入管腳可以是來自FPGA或者M(jìn)CU輸出的時(shí)鐘不?還是必須是晶振或者晶體產(chǎn)生的時(shí)鐘
    發(fā)表于 11-13 07:05