色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    16346

    瀏覽量

    177883
  • 振蕩器
    +關注

    關注

    28

    文章

    3832

    瀏覽量

    139054
  • 時鐘
    +關注

    關注

    10

    文章

    1733

    瀏覽量

    131461
收藏 人收藏

    評論

    相關推薦

    求助,關于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 ?1530次閱讀
    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 ?1110次閱讀

    labview運行后如何初始化

    LabVIEW是一款強大的圖形編程軟件,在運行之前通常需要進行一些初始化操作。本文將詳細介紹LabVIEW運行前的初始化過程,并提供了一些常用的初始化方法。 創建新項目: 在LabV
    的頭像 發表于 12-28 17:24 ?2638次閱讀
    主站蜘蛛池模板: 总裁呻吟双腿大开男男H| 欧美亚洲日韩一道免费观看| 欧美视频 亚洲视频| 色久悠悠无码偷拍自怕| 亚洲精品午睡沙发系列| 999av视频| 强行撕开衣服捏胸黄文| 国产电影尺度| 在线观看免费av网站| 国产精自产拍久久久久久蜜| 野花香在线观看免费观看大全动漫| YELLOW高清视频免费观看| 国产香蕉视频在线观看| 嫩小幼处在线| 亚洲破处女| 久久精品动漫99精品动漫| MELODY在线播放无删减| 亚洲精品国产一区二区贰佰信息网| 绿巨人www| 国产亚洲精品久久久久久无码网站| 97精品在线观看| 精品久久电影网| 大香伊人久久| 日韩成人黄色| 中文字幕在线观看| 成人AV无码一二二区视频免费看| 国产一区内射最近更新| 亚洲精品久久久久久蜜臀 | 免费一级片网站| bl高h文合集| 亚州免费一级毛片| 色婷婷亚洲精品天天综合影院| 女女破视频在线观看| 麻豆最新免费版| 久久精品热只有精品| 51无码人妻精品1国产| 日韩欧美一区二区中文字幕| 欧美精品高潮呻吟AV久久| 母狗黄淑珍| 欧美日韩在线亚洲一| 欧美日韩精品不卡在线观看|