日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 高手帶你理解STM32系統(tǒng)時(shí)鐘和分頻

高手帶你理解STM32系統(tǒng)時(shí)鐘和分頻

關(guān)鍵字:STM32 時(shí)鐘系統(tǒng) 分頻 單片機(jī) 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:24

首先來(lái)手冊(cè)里的一段話。

三種不同的時(shí)鐘源可被用來(lái)驅(qū)動(dòng)系統(tǒng)時(shí)鐘 (SYSCLK)

·  HSI振蕩器時(shí)鐘

·  HSE振蕩器時(shí)鐘

·  PLL時(shí)鐘

一般用的是PLL時(shí)鐘,后面有證據(jù)。

我們可以通過(guò)庫(kù)函數(shù)獲取各時(shí)鐘值

void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)

在我的系統(tǒng)里,把時(shí)鐘值打印信息如下:

SYSCLK:0x44aa200 //72000000, 72MHz

HCLK:0x44aa200 //72000000, 72MHz

PCLK1:0x2255100 //36000000, 36MHz

PCLK2:0x44aa200 //72000000, 72MHz

ADCCLK:0x2255100 //36000000,36MHz

RCC->CFGR:0x001D040A //PLL輸出作為系統(tǒng)時(shí)鐘

可推測(cè)幾個(gè)預(yù)分頻值為

AHB prescaler = 1

APB1 prescaler = 2

APB2 prescaler = 1

ADC prescaler = 2

根據(jù)讀取RCC->CFGR寄存器值為:0x001D040A,上面推測(cè)完全正確。

CFGR寄存器的SWS段也說(shuō)明:PLL輸出作為系統(tǒng)時(shí)鐘。

TIM2使用PCLK1,但注意時(shí)鐘樹(shù)里有這一段

見(jiàn)附圖

1.png

 

已知APB1 prescaler=2,故TIM2CLK = PCLK1*2 = 72MHz.

所以被TIM2分頻的時(shí)鐘大小是72MHz。

我的程序也證明了這點(diǎn)

TIM_TimeBaseInitTypeDef tim2_InitStruct;

TIM_DeInit(TIM2);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//Enable Timer2 clock.

NVIC_ConfigurationForTimer2();

// PCLK1=36MHz, PSC=36000-1, CK_CNT=36MHz/(PSC+1)=1000

// ARR=2000, 1s/1000 * 2000 = 2s.

tim2_InitStruct.TIM_Prescaler = 36000-1;

tim2_InitStruct.TIM_Period = 2000-1;

tim2_InitStruct.TIM_CounterMode = TIM_CounterMode_Up;

tim2_InitStruct.TIM_ClockDivision = TIM_CKD_DIV1;

tim2_InitStruct.TIM_RepetitionCounter = 0;

TIM_TimeBaseInit(TIM2, &tim2_InitStruct);

TIM_ClearFlag(TIM2, TIM_FLAG_Update);

TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//Enables the specified TIM interrupts.

這段配置原本以為定時(shí)時(shí)間是2s,實(shí)際只有1s?戳耸謨(cè)才理解原因。

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

巧家县| 福贡县| 突泉县| 米泉市| 卓资县| 莲花县| 卓资县| 霍州市| 宜良县| 呼玛县| 永昌县| 孙吴县| 子长县| 昔阳县| 东平县| 宣汉县| 宜黄县| 施秉县| 图木舒克市| 庄浪县| 蚌埠市| 昭通市| 台中县| 平陆县| 伊金霍洛旗| 定兴县| 方山县| 尚志市| 调兵山市| 锡林浩特市| 若尔盖县| 黄大仙区| 洛宁县| 敖汉旗| 清水县| 巍山| 阿拉善盟| 无锡市| 昂仁县| 沙洋县| 无极县|