91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

STM8S時鐘系統(tǒng)的時鐘初始化函數(shù)實現(xiàn)

牽手一起夢 ? 來源:eefocus ? 作者:eefocus ? 2020-01-24 17:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM8S具有一個強大的時鐘系統(tǒng),內(nèi)部提供一個高速16M的RC振蕩器,和一個低速128K的RC振蕩器。

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

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

STM8S時鐘系統(tǒng)的時鐘初始化函數(shù)實現(xiàn)

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

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

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

以下是初始化系統(tǒng)時鐘的函數(shù)(默認使用16M內(nèi)部RC):

void Set_HSISpeed(void)

{

//啟用內(nèi)部高速晶振且無分頻16MHz

CLK_ICKR|=0x01; //開啟內(nèi)部HSI

while(?。–LK_ICKR&0x02));//HSI準備就緒

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

CLK_CKDIVR=0x00; //HSI不分頻

}

如果需要切換時鐘,需要先等待時鐘穩(wěn)定:

void Switch_LSISpeed(void)

{

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

CLK_ICKR|=0x08; //開啟LSI

while(?。–LK_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; //開啟內(nèi)部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函數(shù)的第一句話,方便以后計算其他外設的時鐘頻率。

責任編輯:gt

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

    關注

    114

    文章

    17808

    瀏覽量

    193955
  • 振蕩器
    +關注

    關注

    28

    文章

    4176

    瀏覽量

    142968
  • 時鐘
    +關注

    關注

    11

    文章

    1981

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國民技術(shù)發(fā)布N32Cube芯片配置與初始化代碼生成工具

    1月30日,國民技術(shù)(NSING)正式發(fā)布N32Cube——芯片配置與初始化代碼生成工具,讓時鐘、引腳與外設的配置一目了然、輕松上手!
    的頭像 發(fā)表于 02-02 15:26 ?641次閱讀
    國民技術(shù)發(fā)布N32Cube芯片配置與<b class='flag-5'>初始化</b>代碼生成工具

    MCU工程初始化,到底該不該交給工具?

    背景 工程初始化重復性高,但出錯成本大。工程師常問:交給工具是不是會丟失掌控? 工具可做的事 時鐘樹、引腳復用、外設配置 工程生成、代碼模板套用 參數(shù)校驗和約束檢查 工程師仍需做的事 特殊業(yè)務邏輯
    的頭像 發(fā)表于 01-29 10:18 ?169次閱讀
    MCU工程<b class='flag-5'>初始化</b>,到底該不該交給工具?

    掌握 LuatIO:GPIO 復用模式初始化配置全流程解析

    在使用 LuatIO 進行嵌入式應用開發(fā)時,合理配置 GPIO 的復用功能是實現(xiàn)外設控制的前提。本文全面解析 GPIO 引腳由普通 IO 轉(zhuǎn)換為復用功能引腳的初始化流程,包括時鐘使能、模式選擇、速度
    的頭像 發(fā)表于 01-23 15:28 ?1390次閱讀
    掌握 LuatIO:GPIO 復用模式<b class='flag-5'>初始化</b>配置全流程解析

    EtherCAT總線初始化步驟

    EtherCAT(Ethernet for Control Automation Technology)是一種高性能的工業(yè)以太網(wǎng)通信協(xié)議,廣泛應用于工業(yè)自動領域。其初始化過程是確保系統(tǒng)穩(wěn)定運行
    的頭像 發(fā)表于 12-22 10:10 ?629次閱讀
    EtherCAT總線<b class='flag-5'>初始化</b>步驟

    鐵路時鐘系統(tǒng)介紹、時鐘系統(tǒng)、授時服務器

    時鐘系統(tǒng)
    西安同步電子科技有限公司
    發(fā)布于 :2025年11月12日 17:39:23

    SD卡初始化原理講解與實現(xiàn)

    收到回應 0x01 表示成功進入等待狀態(tài) 3 拉高 CS,發(fā)送 8時鐘 復位成功后我們就可以對其進行初始化了。初始化的過程較復雜,對其過程總結(jié)如下: 4 使用 CMD,發(fā)送 CM
    發(fā)表于 10-29 06:33

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

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

    GraniStudio:IO初始化以及IO資源配置例程

    IO資源配置.gsp文件,點擊打開,完成導入。 2.功能說明 實現(xiàn)連接格拉尼控制器IO塊以及配置輸入輸出IO點。 2.1通過初始化IO算子連接格拉尼控制器IO塊,導入工程自動進行連接。 2.2 通過IO配置算子輸出配置的IO表。 第一次使用GS軟件時操作步驟如下: (1)
    的頭像 發(fā)表于 08-22 17:34 ?954次閱讀
    GraniStudio:IO<b class='flag-5'>初始化</b>以及IO資源配置例程

    GraniStudio:初始化例程

    1.文件運行 導入工程 雙擊運行桌面GraniStudio.exe。 通過引導界面導入初始化例程,點擊導入按鈕。 打開初始化例程所在路徑,選中初始化.gsp文件,點擊打開,完成導入。 2.功能
    的頭像 發(fā)表于 08-22 16:45 ?938次閱讀
    GraniStudio:<b class='flag-5'>初始化</b>例程

    定義IO初始化結(jié)構(gòu)體

    由上述IOPORT相關功能的枚舉類型我們可以知道,在對IOPORT模塊進行初始化時需要根據(jù)情況配置它們。因此我們定義一個IOPORT初始化的結(jié)構(gòu)體類型IOPORT_Init_t,它的成員包括了由上述所有枚舉類型所聲明的變量,因此該結(jié)構(gòu)體類型的變量可以包含IOPORT的相關
    的頭像 發(fā)表于 07-16 16:26 ?1436次閱讀

    NVMe高速傳輸之擺脫XDMA設計之七:系統(tǒng)初始化

    直接采用PCIe實現(xiàn)NVMe功能,它的系統(tǒng)初始化流程主要分為鏈路訓練、PCIe 初始化和 NVMe 初始化, 分別
    發(fā)表于 07-04 09:14

    IM 系列設備過載保護機制下界面初始化中斷的底層邏輯與解決方案

    一、過載保護機制與界面初始化的關聯(lián)基礎 IM 系列設備的過載保護機制是保障設備安全運行的核心功能,其通過傳感器實時采集設備運行參數(shù),如電流、電壓、溫度、系統(tǒng)資源占用率等。一旦這些參數(shù)超出預設閾值
    的頭像 發(fā)表于 06-27 09:58 ?573次閱讀

    請問init_ipc_shm() 是否只初始化一次?

    通過在 S32G A 核上使用 C(或 C)創(chuàng)建多個項目來開發(fā) IPCF 功能時,是init_ipc_shm()允許初始化已配置的共享資源的函數(shù)僅一次在運行時?如果是,系統(tǒng)級別的最佳架
    發(fā)表于 03-25 08:05