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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM8S時鐘系統的時鐘初始化函數實現

牽手一起夢 ? 來源:eefocus ? 作者:eefocus ? 2020-01-24 17:32 ? 次閱讀

STM8S具有一個強大的時鐘系統,內部提供一個高速16M的RC振蕩器,和一個低速128K的RC振蕩器。

時鐘控制器功能強大而且靈活易用。其目的在于使用戶在獲得最好性能的同時,亦能保證消耗的功率最低。用戶可獨立地管理各個時鐘源,并將它們分配到CPU或各個外設。主時鐘和CPU時鐘均帶有預分頻器。具有安全可靠的無故障時鐘切換機制,可在程序運行中將主時鐘從一個時鐘源切換到另一個時鐘源。

一般來說,時鐘樹是配置時鐘、控制時鐘的依據,所以需要掌握,以下是STM8S時鐘樹圖:

STM8S時鐘系統的時鐘初始化函數實現

從圖中看出,一共有3個時鐘源,分別是HSE(高速外部時鐘)、HSI(高速內部時鐘)、LSI(低速內部時鐘)。

HSE(高速外部時鐘)可通過外部晶振提供,HSI(高速內部時鐘)為16M的RC振蕩器,LSI(低速內部時鐘)為128K的RC振蕩器。

高速時鐘(HSE和HSI)可以通過分頻器進行降頻。降頻過后的時鐘和原本的時鐘都可以通過Master Clock Switch進行選擇,

以下是初始化系統時鐘的函數(默認使用16M內部RC):

void Set_HSISpeed(void)

{

//啟用內部高速晶振且無分頻16MHz

CLK_ICKR|=0x01; //開啟內部HSI

while(!(CLK_ICKR&0x02));//HSI準備就緒

CLK_SWR=0xe1; //HSI為主時鐘源

CLK_CKDIVR=0x00; //HSI不分頻

}

如果需要切換時鐘,需要先等待時鐘穩定:

void Switch_LSISpeed(void)

{

CLK_SWCR|=0x02; //開啟切換

CLK_ICKR|=0x08; //開啟LSI

while(!(CLK_ICKR&0x10));//HSI準備就緒

CLK_SWR=0xd2; //LSR為主時鐘源

while((CLK_SWCR & 0x01)==0x01);//等待切換完成

CLK_CKDIVR=0x00; //LSI不分頻

CLK_SWCR&=(~0x02); //關閉切換

}

void Switch_HSISpeed(void)

{

CLK_SWCR|=0x02; //開啟切換

CLK_ICKR|=0x01; //開啟內部HSI

while(!(CLK_ICKR&0x02));//HSI準備就緒

CLK_SWR=0xe1; //HSI為主時鐘源

while((CLK_SWCR & 0x01)==0x01);//等待切換完成

CLK_CKDIVR=0x00; //HSI不分頻

CLK_SWCR&=(~0x02); //關閉切換

}

如果想直接降頻,只需要設置始終分頻:

void Set_CPU_Full_Speed(void)

{

CLK_CKDIVR=0x00; //HSI不分頻

}

void Set_CPU_Low_Speed(void)

{

CLK_CKDIVR=0x07; //HSI 128分頻

}

以上就是初始化時鐘的代碼,一般用于mian函數的第一句話,方便以后計算其他外設的時鐘頻率。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16396

    瀏覽量

    178512
  • 振蕩器
    +關注

    關注

    28

    文章

    3839

    瀏覽量

    139167
  • 時鐘
    +關注

    關注

    11

    文章

    1736

    瀏覽量

    131577
收藏 人收藏

    評論

    相關推薦

    ESP32S2在復位初始化的時最初的GPIO的狀態是什么樣的?

    麻煩咨詢一下ESP32S2在復位初始化的時最初的GPIO的狀態是什么樣的?是默認輸入模式、還是默認為輸出模式、還是默認為高阻模式?如上圖的PCLK為一個攝像頭器件的輸入時鐘PCLK,和ESP32
    發表于 07-01 08:07

    求助,關于STM8S105全局中斷的問題求解

    環境是IAR 芯片stm8s105c6沒有使用庫函數,而直接使用的寄存器。 我在主函數main中先初始化系統
    發表于 05-15 07:36

    STM8S的定時器1和定時器4同時初始化和打開遇到的疑問求解

    我把STM8S的定時器1和定時器4同時初始化和打開。然后分別在定時器1中斷函數和定時器4中斷函數里處理程序,發現定時器4不工作,當屏蔽定時器1后,定時器4就能工作了,這是怎么回事啊?如
    發表于 05-09 08:31

    STM8S TIM4中斷一開,程序異常怎么解決?

    使用內部時鐘16M ,1分頻,TIM4定時8us,初始化程序如下: CLK->PCKENR1 = (uint8_t)(0x1C);//使能定時器和串口 TIM4->
    發表于 04-28 06:52

    stm32定時器在初始化參數之前是否必須開啟對應時鐘

    參數的時候,對應定時器時鐘并沒有開啟,導致PWM不能正常輸出,當在這些函數之前,開啟對應時鐘,就正常了。看是調試對比,TIM的寄存器沒有差別,不知道為什么,所以問一下在初始化參數之前是
    發表于 04-18 06:42

    請問STM8S的AWU功能的時鐘源能使用外接的32.768KHZ晶振嗎?

    請問大神,STM8S的AWU功能的時鐘源能使用外接的32.768KHZ晶振嗎?
    發表于 04-16 08:07

    關于STM32F103VC零下10℃時鐘初始化問題求解

    LSE和HSE,那么設備在零下10℃的時候重新上電,APP初始化LSE過不去; 2.如果BOOT初始化時鐘的時候,使用LSE和HSE,在APP里面重新配置為LSE和HSE,那么設備在零下10℃的時候
    發表于 04-15 06:12

    啟動外部16MHz時鐘后STM8S003的ADC無法初始化是怎么回事?

    如題,STM8S003F3P6做的驅動板,啟動外部16MHz時鐘,UART, TIMER, GPIO, 中斷等一切工作正常,整個系統運行也很OK。但當加入ADC初始化時,無法寫入ADC
    發表于 04-08 08:24

    STM32F4卡死在時鐘初始化配置上是哪里出了問題?

    時鐘初始化if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE){return HAL_TIMEOUT; }
    發表于 03-29 08:32

    STM32F303RCT6 CAN初始化時鐘卡住了顯示超時狀態,造成初始化異常怎么解決?

    STM32F303RCT6 CAN初始化時鐘卡住了顯示超時狀態,造成初始化異常!懇請大佬們幫忙解惑解惑,謝謝!!
    發表于 03-14 07:32

    使用CUBEMX生成配置好的UCPD外設初始化代碼后,未發現UCPDHAL庫函數是為什么?

    我使用CUBEMX生成配置好的UCPD外設初始化代碼后發現就使能外設時鐘且未發現UCPDHAL庫函數,是我的CUBEMX版本低了嗎。
    發表于 03-14 07:32

    MCU單片機GPIO初始化該按什么順序配置?為什么初始化時有電平跳變?

    GPIO初始化時有時鐘配置、模式配置、輸出配置、復用配置,那么在編寫初始化代碼時,到底該按什么順序執行呢?如果順序不當那初始化過程可能會出現短暫的電平跳變。
    的頭像 發表于 02-22 11:07 ?1566次閱讀
    MCU單片機GPIO<b class='flag-5'>初始化</b>該按什么順序配置?為什么<b class='flag-5'>初始化</b>時有電平跳變?

    rtc時鐘如何在啟動后會不被初始化為默認值?

    請教一個關于rtc的問題。 1.我發現我的rtc時鐘根據例子,在啟動后會被初始化為默認值。 但是如果我想在軟件復位或者看門狗復位的情況下,不讓我的rtc時鐘重新初始化。這樣是否能夠
    發表于 02-21 06:08

    使用CYB06445LQI-S3D42設備配置系統時鐘,BSP在時鐘初始化時失敗怎么解決?

    我們正在使用 CYB06445LQI-S3D42 設備。 從默認時鐘配置開始效果很好。 當我們嘗試根據電路板設計配置系統時鐘(我們有 ECO)時,BSP 無法
    發表于 01-19 06:12

    控制系統之間如何實現時鐘同步?

    控制系統之間如何實現時鐘同步? 控制系統之間的時鐘同步是確保不同系統之間的時鐘保持一致的過程。它
    的頭像 發表于 01-16 14:37 ?1176次閱讀
    主站蜘蛛池模板: 美女无遮挡拍拍拍免费视频| 韩国男女无遮挡高清性视频| 久久天天综合| 99久久精品费精品国产一区二区| 一区二区手机视频| 久久狠狠躁免费观看| 国产精品美女久久久久网站| 在线观看黄网| 一区二区三区中文字幕| 乱码一区二区三区完整视频| 亚洲色图图片| 日日夜夜噜| 久青草免费视频| www.毛片在线观看| 手机看片免费永久在线观看| 国产逼逼视频| 久久九九亚洲精品| 2016天天干| 免看一级a毛片一片成人不卡| 最新天堂网| 色婷婷综合久久久久中文一区二区| 一区二区视频在线| 天堂bt种子资源地址在线| 欧美二级黄色片| 成在线人视频免费视频| 日操| 失禁h啪肉尿出来高h健身房| 狠狠操天天操视频| 34看网片午夜理| 伊人久久网站| 欧美午夜视频在线| 大尺度免费高清在线观看视频 | 久久久久国产精品免费网站 | 丁香激情小说| 永久免费精品视频| 欧美色一级| 夜夜爽夜夜爱| 天天在线免费视频| 999精品国产| 在线观看免费国产| 亚洲天堂999|