新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM8S學習筆記之三(STM8 SysClk)

        STM8S學習筆記之三(STM8 SysClk)

        作者: 時間:2016-11-24 來源:網絡 收藏
        STM8S系統時鐘設置,對于單片機來說是非常重要的,不同的用處必須應用不同的時鐘。。舉個例子,做AVR時在高穩定的串口通訊時用的時鐘一般是3.6864M,主要是這個算波特率精確。。STM8S同樣重要。。

        STM8S時鐘源:
        ●1-24MHz高速外部晶體振蕩器(HSE)
        ●最大24MHz高速外部時鐘信號(HSE user-ext)
        ●16MHz高速內部RC振蕩器(HSI)
        ●128KHz低速內部RC(LSI)
        各個時鐘源可單獨打開或關閉,從而優化功耗

        本文引用地址:http://www.104case.com/article/201611/320890.htm

        對于我這么懶得人一般都是用的內部或者外部晶振。。這個芯片時鐘方面很大的一個亮點就是時鐘可以自由分頻。在降低功耗方面,如果有特殊需求的時候還是考慮STM8L系列或者430的吧,不得不承認術業有專攻。

        按照技術手冊寄存器功能給寄存器賦值寫成一下函數:

        //啟動時鐘配置
        void SysClkInit(void)
        {
        // CLK_SWR=0xe1; //HSI為主時鐘源
        CLK_SWR=0xb4; //HSE為主時鐘源
        CLK_CKDIVR=0x00;//CPU時鐘0分頻,系統時鐘0分頻
        CLK_CSSR=0x01;//時鐘安全監測使能
        CLK_SWCR=0x02;//使能自動時鐘切換
        }

        首先設置時鐘源,也就是時鐘是用內部還是外部,如果對時間精度要求不高,用內部也可以。。然后是時鐘分頻。。這個分頻需要設定系統時鐘和CPU時鐘,這兩個時鐘,如果對此有特殊要求就得好好斟酌一下了,而我全部不分頻。時鐘安全監測還是打開吧,如果用的外部時鐘,但是外部時鐘突然出現故障的話,單片機會自動啟用內部時鐘,內部時鐘默認為8分頻也就是2M。然后時鐘自動切換,好像這個有沒有都可以,去掉能不能使回頭再試。。

        開機初始化,在不調用此函數時CPU時鐘默認開啟2M,但是調用此函數后,時鐘切換為16M,LED閃爍速度明顯加快、、



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 浦东新区| 泸溪县| 安多县| 普兰店市| 潢川县| 寻乌县| 莲花县| 伊吾县| 曲阜市| 昭苏县| 龙井市| 榆社县| 淅川县| 梁河县| 溧水县| 固阳县| 开原市| 清流县| 烟台市| 大英县| 南丹县| 长寿区| 安仁县| 阳信县| 罗源县| 辽阳县| 阿图什市| 永清县| 汉阴县| 南汇区| 甘肃省| 朝阳县| 凤翔县| 杨浦区| 马公市| 九江市| 西贡区| 石城县| 南宁市| 瑞丽市| 定边县|