在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm8s開(kāi)發(fā)(四) CLOCK的使用:時(shí)鐘控制!

            stm8s開(kāi)發(fā)(四) CLOCK的使用:時(shí)鐘控制!

            作者: 時(shí)間:2017-09-14 來(lái)源:網(wǎng)絡(luò) 收藏

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

            本文引用地址:http://www.biyoush.com/article/201709/364352.htm

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

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

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

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

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

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

              void Set_HSISpeed(void)

              {

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

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

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

              CLK_SWR=0xe1; //HSI為主時(shí)鐘源

              CLK_CKDIVR=0x00; //HSI不分頻

              }

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

              void Switch_LSISpeed(void)

              {

              CLK_SWCR|=0x02; //開(kāi)啟切換

              CLK_ICKR|=0x08; //開(kāi)啟LSI

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

              CLK_SWR=0xd2; //LSR為主時(shí)鐘源

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

              CLK_CKDIVR=0x00; //LSI不分頻

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

              }

              void Switch_HSISpeed(void)

              {

              CLK_SWCR|=0x02; //開(kāi)啟切換

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

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

              CLK_SWR=0xe1; //HSI為主時(shí)鐘源

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

              CLK_CKDIVR=0x00; //HSI不分頻

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

              }

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

              void Set_CPU_Full_Speed(void)

              {

              CLK_CKDIVR=0x00; //HSI不分頻

              }

              void Set_CPU_Low_Speed(void)

              {

              CLK_CKDIVR=0x07; //HSI 128分頻

              }

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

              附上在IAR環(huán)境下的項(xiàng)目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代碼。

              http://download.csdn.net/detail/devintt/9454188



            關(guān)鍵詞: stm8s CLOCK

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉