国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

STM8 時鐘源切換

2019-11-08 03:12:27
字體:
來源:轉載
供稿:網友

STM8時鐘源:

1、1~24MHz的高速外部晶體振蕩器(HSE),即外部晶振 2、1~24MHz的高速外部時鐘信號(HSE), 3、16MHz的高速內部RC振蕩器(HSI) 4、128KHz的低速內部RC振蕩器(LSI) 時鐘框圖

默認時鐘源:

由上述時鐘框圖,可以分析得知,16MHz HSI RC振蕩器經過一個分頻器,將時鐘信號輸出到主時鐘選擇器。單片機上電后默認該分頻器的值為8分頻,即單片機上電主時鐘默認使用HSI 8分頻后的時鐘輸出,即主時鐘頻率fmaster=16MHz/8=2MHz,然后由主時鐘輸出時鐘信號到外設和CPU。

時鐘源選擇:

可以通過讀取主時鐘狀態(tài)寄存器CLK_CMSR來獲取當前主時鐘是采用的哪一個時鐘源。 主時鐘狀態(tài)寄存器 既然可以知道當前使用的是哪一個時鐘源了,那么怎么切換呢?就需要操作主時鐘切換寄存器CLK_SWR和切換控制寄存器CLK_SWCR了,先看CLK_SWCR寄存器: 主時鐘切換控制寄存器 用到了低四位,切換忙標志位SWBSY,切換使能位SWEN,切換中斷使能位SWIEN和時鐘切換中斷標志位SWIF。 而向主時鐘切換寄存器CLK_SWR寫入數據可以指定要切換的時鐘源: 主時鐘切換寄存器

在開始切換時鐘時,需要首先置位SWEN,使能時鐘切換然后等待時鐘切換事件發(fā)生,然后機制時鐘切換即可,具體實現代碼如下(我這里切換到HSE時鐘源):

if(CLK_CMSR !=0xB4){ //如果當前時鐘不是使用外部HSE時鐘源 CLK_SWCR |=0x02; //使能時鐘切換 CLK_SWR = 0xB4; //切換時鐘, while((CLK_SWCR & 0x08)==0);//等待時鐘切換完成 CLK_SWCR &=~0x02;//禁止時鐘切換 }

在調試時,代碼執(zhí)行完成之后,如果CLK_CMSR的值為0xB4則時鐘源切換成功。

這里附上一個例程,實現功能為:STM8時鐘源切換時鐘到HSE(8MHz),然后在主函數中循環(huán)打印一串字符串到PC機,例程地址為:http://download.csdn.net/detail/yuanquanzheng/9756971 另外我的編譯環(huán)境使用的是IAR for STM8


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 郯城县| 明星| 友谊县| 永寿县| 秦安县| 安乡县| 文山县| 乡城县| 洛川县| 本溪市| 洱源县| 中西区| 广安市| 渝北区| 南皮县| 綦江县| 鄂温| 汝南县| 澄城县| 三穗县| 加查县| 苍山县| 芜湖县| 成都市| 洱源县| 德州市| 吴桥县| 眉山市| 甘孜县| 缙云县| 开原市| 罗城| 贞丰县| 南城县| 汽车| 靖安县| 信宜市| 扶绥县| 靖西县| 光山县| 济源市|