久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM8L時鐘切換詳解
[打印本頁]
作者:
51hei小林
時間:
2016-10-10 00:58
標題:
STM8L時鐘切換詳解
SMT8L
的四大時鐘源
LSE
,
LSI
,
HSE
,
HSI
,都可以作為系統時鐘。
系統上電后,
HSI/8
作為默認系統時鐘,啟動完成后,用戶可以切換系統時鐘源。
切換分為自動切換和手動切換,沒有太大的區別。
下面是自動切換的流程圖,按照此流程圖,編寫程序,即可實現時鐘切換。
只需要三步即可實現系統時鐘切換:
①置位
CLK_SWCR
寄存器中的
SWEN
位,允許時鐘切換
②向
CLK_SWR
中寫數據,選擇目標時鐘源
③等待
SWBSY
清零,即等待時鐘切換完成
時鐘切換完成后,在主循環中翻轉
IO
電平,通過測量
IO
口的輸出頻率,可以直觀的看到切換時鐘,系統時鐘頻率發生了變化。
本程序選擇
LSE
(
32.768KHz
)作為系統時鐘,時鐘切換完成后,
PC7
翻轉電平,使用邏輯分析可以測量到此時
PC7
的輸出頻率。如下圖:
可以看到
PC7
輸出頻率為
2.73KHz
,并不是
32.768KHz
。這是因為,
STM8L
一個指令周期為二個時鐘周期,同時翻轉電平的程序,高電平時間需要
3
個指令周期,低電平時間同樣為
3
個指令周期。所以最終測量到的
IO
輸出頻率為
32.768KHz/2/6=2.730667KHz
。如果選擇的時鐘源為
16M(HSI),
則最終測得的
IO
輸出頻率為
16M/2/6=1.33M
。要注意,系統時鐘的分頻器默認
8
分頻,需要清零分頻器,才滿足此計算方式。
#include"iostm8l152c6.h"
/****************************************************************************************
*
開發環境
:IAR for stm8v6.5
*
硬件平臺
:STM8L-DISCOVERY
*
功能說明
:
本程序選擇
LSE
(
32.768KHz
)作為系統時鐘,時鐘切換完成后,
PC7
翻轉電平,使用邏輯分析可以測量到此時
PC7
的輸出頻率,最終測量到的IO輸出頻率為32.768KHz/2/6=2.730667KHz。
*
作
者:茗風
****************************************************************************************/
/******************************************************************************************************
*
名
稱:
voidGPIO_Init(void)
*
功
能:初始化
PC7
為高速推挽輸出
*
入口參數:無
*
出口參數:無
*
說
明:測量系統時鐘頻率的
IO
,測量到的頻率是:目標時鐘源
/2/6
*
范
例:無
******************************************************************************************************/
void GPIO_Init(void)
{
PC_CR1_C17 =1;//
推挽輸出
PC_CR2_C27 =1;//
高速輸出
PC_DDR_DDR7 =1;//PC4
輸出
// PC_ODR_ODR7 =0;//
輸出低電平
}
/******************************************************************************************************
*
名
稱:
voidCLOCK_Init(void)
*
功
能:系統時鐘切換為
LSE
,
32.768KHz
*
入口參數:無
*
出口參數:無
*
說
明:
*
范
例:無
******************************************************************************************************/
void CLOCK_Init(void)
{
CLK_CKDIVR =0x00;//CLK_CKDI
,
VR
寄存器默認
0x03
分頻值為
8
//
自動切換
CLK_SWCR_SWEN =1;//
允許切換時鐘
CLK_SWR =0x08;//
寫入一個八位的值,用于選擇目標時鐘源
while(CLK_SWCR_SWBSY);//
等待時鐘切換完成
//
手動切換
// CLK_SWR =0x08;//
寫入一個八位的值,用于選擇目標時鐘源
// while(!CLK_ECKR_LSERDY);//
等待目標時鐘源穩定
// CLK_SWCR_SWEN =1;//
允許切換時鐘
/*
*0x01
:
HSI selected as system clock source
*0x02
:
LSI selected as system clock source
*0x04
:
HSE selected as system clock source
*0x08
:
LSE selected as system clock source
*/
}
/******************************************************************************************************
*
名
稱:
int main(void)
*
功
能:通過
PC4
輸出選擇的時鐘
*
入口參數:無
*
出口參數:無
*
說
明:因為
STM8l discovery
沒有接外部高速晶振,所以沒辦法輸出
HSE
,不要
*
范
例:無
******************************************************************************************************/
void main( void )
{
GPIO_Init();
CLOCK_Init();
while(1)
{
PC_ODR_ODR7 ^=1;
}
}
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲www
|
黄色成人小视频
|
伊人影院综合
|
国产福利在线
|
欧美在线综合
|
拍床戏真做h文黄肉1v1
|
精品久久一区二区
|
97精品超碰一区二区三区
|
精品
|
久久精品免费看
|
国产精品自拍第一页
|
久久久久国产精品视频
|
一道本av
|
国产伦精品一区二区三区视频网站
|
一区二区黄色
|
日韩av在线免费播放
|
毛茸茸性猛交xxxx
|
日韩一级淫片
|
黄色大片在线免费观看
|
成人激情视频
|
婷婷激情六月
|
日韩欧美国产高清91
|
av片网站
|
日韩一区二区在线视频
|
国产精品视频一区二区三区
|
一级做a爱片性色毛片
|
不卡在线视频
|
激情婷婷丁香
|
国产精品区二区三区日本
|
免费看黄色av
|
中文字幕在线观看亚洲
|
欧美日韩激情
|
中文字幕在线观看一区二区
|
老司机精品福利视频
|
国产精品一二三
|
视频一区二区在线播放
|
欧美激情一区二区
|
欧美a视频
|
91狠狠综合
|
成人激情视频在线观看
|
色综合天天综合网国产成人网
|