娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

1、STM32學(xué)習(xí)筆記——系統(tǒng)時(shí)鐘初始化函數(shù)

發(fā)布者:快樂的旅程最新更新時(shí)間:2024-09-29 來源: cnblogs關(guān)鍵字:STM32  系統(tǒng)時(shí)鐘  初始化函數(shù) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

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

 1:HSI振蕩器時(shí)鐘(內(nèi)部時(shí)鐘)

2:HSE振蕩器時(shí)鐘 (外部時(shí)鐘,即晶振所提供)

 3:PLL時(shí)鐘(鎖相環(huán)時(shí)鐘)

 這些設(shè)備有以下2種二級(jí)時(shí)鐘源: 

 (1)40kHz低速內(nèi)部RC,可以用于驅(qū)動(dòng)獨(dú)立看門狗和通過程序選擇驅(qū)動(dòng)RTC。RTC用于從停機(jī)/待機(jī)模式下自動(dòng)喚醒系統(tǒng)。 

 (2)32.768kHz低速外部晶體也可用來通過程序選擇驅(qū)動(dòng)RTC(RTCCLK)。 

 當(dāng)不被使用時(shí),任一個(gè)時(shí)鐘源都可被獨(dú)立地啟動(dòng)或關(guān)閉,由此優(yōu)化系統(tǒng)功耗。

  

1:常用配置如下

 使用HSE作為PLL的輸入源,將PLL的輸出配置為72MHZ,然后將PLL作為系統(tǒng)時(shí)鐘,最后將其他時(shí)鐘配置為系統(tǒng)時(shí)鐘的分頻輸出。

 2:配置過程

 -將所有和時(shí)鐘相關(guān)的寄存器進(jìn)行復(fù)位;

 -啟動(dòng)HSE并等待其穩(wěn)定;

 -配置HCLK和SYSCLK相等;

 -配置PCLK1為HCLK的2分頻;(由參考手冊(cè)上的時(shí)鐘樹得知PCLK1為低速外設(shè)時(shí)鐘,最大不超過36MHZ,所以,PLL倍頻不建議超過72MHZ)

 -配置PCLK2和HCLK相等;(PCLK2為高速外設(shè)時(shí)鐘,最大不超過72MHZ)

 -根據(jù)是否使用AD及其輸入信號(hào)的頻率配置ADCLK為PCLK2的若干分頻;

 -根據(jù)是否使用USB設(shè)備接口,配置USB的時(shí)鐘為48MHZ;

 -配置HSE為PLL的輸入,并設(shè)置兩個(gè)分頻比使PLL輸出72MHZ頻率,等待其穩(wěn)定;

 -將PLL輸出作為系統(tǒng)時(shí)鐘;

 -根據(jù)需要來決定是否啟用時(shí)鐘安全系統(tǒng)。
在寫系統(tǒng)時(shí)鐘初始化代碼之前可以先看《STM32參考手冊(cè)》的系統(tǒng)時(shí)鐘樹:


STM32PLL時(shí)鐘配置函數(shù):
 void Stm32_Clock_Init(u8 PLL)
 {
  unsigned char temp=0; //當(dāng)前系統(tǒng)時(shí)鐘狀態(tài)標(biāo)志  
  MYRCC_DeInit();   //復(fù)位并配置向量表
  RCC->CR|=0x00010000;  //外部高速時(shí)鐘使能HSEON
  while(!(RCC->CR>>17));//等待外部時(shí)鐘就緒
  RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;
  PLL-=2;//抵消2個(gè)單位  //這里PLL減去2是因?yàn)楸额l系數(shù)從2開始,但倍頻寄存器值從 0000開始,即如果是9倍頻,則倍頻寄存器應(yīng)寫0111。
  RCC->CFGR|=PLL<<18;   //設(shè)置PLL值 2~16
  RCC->CFGR|=1<<16;   //由軟件置’1’或清’0’來選擇PLL輸入時(shí)鐘源。該位只有在PLL關(guān)閉時(shí)才 可以被寫入。
  FLASH->ACR|=0x32;   //FLASH 2個(gè)延時(shí)周期
 
  RCC->CR|=0x01000000;  //PLLON
  while(!(RCC->CR>>25));//等待PLL鎖定
  RCC->CFGR|=0x00000002;//PLL作為系統(tǒng)時(shí)鐘  
  while(temp!=0x02)     //等待PLL作為系統(tǒng)時(shí)鐘設(shè)置成功
  {   
  temp=RCC->CFGR>>2;
  temp&=0x03;
  }    
 }
MYRCC_DeInit函數(shù)原型:
 void MYRCC_DeInit(void)
{                    
 RCC->APB1RSTR = 0x00000000;//復(fù)位結(jié)束    
 RCC->APB2RSTR = 0x00000000; 
   
   RCC->AHBENR = 0x00000014;  //睡眠模式閃存和SRAM時(shí)鐘使能.其他關(guān)閉.   
   RCC->APB2ENR = 0x00000000; //外設(shè)時(shí)鐘關(guān)閉.      
   RCC->APB1ENR = 0x00000000;   
 RCC->CR |= 0x00000001;     //使能內(nèi)部高速時(shí)鐘HSION                 
 RCC->CFGR &= 0xF8FF0000;   //復(fù)位SW[1:0],HPRE[3:0],PPRE1[2:0],PPRE2[2:0],ADCPRE[1:0],MCO[2:0]      
 RCC->CR &= 0xFEF6FFFF;     //復(fù)位HSEON,CSSON,PLLON
 RCC->CR &= 0xFFFBFFFF;     //復(fù)位HSEBYP       
 RCC->CFGR &= 0xFF80FFFF;   //復(fù)位PLLSRC, PLLXTPRE, PLLMUL[3:0] and USBPRE 
 RCC->CIR = 0x00000000;     //關(guān)閉所有中斷
 //配置向量表      
#ifdef  VECT_TAB_RAM
 MY_NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
#else   
 MY_NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
#endif
}

時(shí)鐘控制寄存器:


時(shí)鐘控制寄存器:


      


關(guān)鍵字:STM32  系統(tǒng)時(shí)鐘  初始化函數(shù) 引用地址:1、STM32學(xué)習(xí)筆記——系統(tǒng)時(shí)鐘初始化函數(shù)

上一篇:STM32、ESP8266與MQTT連接阿里云物聯(lián)網(wǎng)的串口通信異常解析
下一篇:2、STM32學(xué)習(xí)筆記——定時(shí)器

推薦閱讀最新更新時(shí)間:2025-04-23 12:01

STM8S TIM2 輸出PWM初始化函數(shù)
參考網(wǎng)上例程總結(jié)出初始化函數(shù) #define TIM2_CLK 16000000 void timer2_Init(char channal, ulong hz,int pwm) { TIM2_ARRH = (TIM2_CLK/hz)/256; TIM2_ARRL = (TIM2_CLK/hz)%256; switch (channal) { case 1:{ TIM2_CCMR1 |= 0x70; TIM2_CCER1 |= 0x03; //通道1使能,低電平有效,配置為輸出 TIM2_CCR1H = (((TIM2_CLK/hz)*pwm)/1000)/256;
[單片機(jī)]
STM32按鍵輸入、所需要的C語言復(fù)習(xí)、時(shí)鐘系統(tǒng)框圖
第一部分: STM32按鍵輸入是我的第二個(gè)在STM32 平臺(tái)上有輸入的小實(shí)例。思路為,先查詢硬件圖看清按鍵是低電平有效還是高電平有效,根據(jù)我的開發(fā)環(huán)境得知四個(gè)按鍵有三個(gè)按鍵是低電平有效,有一個(gè)按鍵是高電平有效。然后設(shè)計(jì)代碼,設(shè)計(jì)代碼之前得分析清楚,按鍵有兩種情況,可持續(xù)按鍵和不可持續(xù)按鍵。可持續(xù)按鍵的意思是,按一下放開后,繼續(xù)按還會(huì)有用,而不可持續(xù)按鍵就不行。 分清按鍵類型就可以照一般運(yùn)用外設(shè)的三步走戰(zhàn)略前進(jìn),第一步初始化按鍵輸入時(shí)鐘,第二步初始化所運(yùn)用的IO時(shí)鐘,第三步掃描鍵盤 初始化時(shí)鐘選擇時(shí)鐘系統(tǒng)中的高速總線掛載的時(shí)鐘,APB2所包含的時(shí)鐘函數(shù)RCC_APB2PeriphClockCmd()。具體下面的時(shí)鐘系統(tǒng)分析會(huì)清晰的講
[單片機(jī)]
lpc2114系統(tǒng)時(shí)鐘的設(shè)置
LPC2114微控制器的系統(tǒng)時(shí)鐘有三種:晶振或外部時(shí)鐘源為Fosc,經(jīng)PLL調(diào)整后供給CPU得時(shí)鐘為Fcclk,而經(jīng)VPB分頻器后供給外圍器件的時(shí)鐘為Fpclk。 1、對(duì)PLL設(shè)置 PLL接受的輸入時(shí)鐘頻率范圍為10MHZ~25MHZ。輸入頻率經(jīng)過一個(gè)電流控制振蕩器(CCO)倍增到范圍10MHZ~60MHZ。倍頻器可以是從1到32得整數(shù),但實(shí)際上由于CPU最高頻率得限制,其倍頻值不能高于6。CCO得操作頻率范圍為156MHZ—320MHZ,因此在環(huán)中有個(gè)額外的倍頻器在PLL提供所需要得輸出頻率時(shí)使CCO保持在頻率范圍內(nèi)。輸出分頻器可設(shè)置為2、4、8或16分頻。由于輸出分頻器得最小值為2,它保證了PLL輸出有50%得占空比。
[單片機(jī)]
STM32 的 printf() 函數(shù)串口重定向(HAL庫標(biāo)準(zhǔn)庫都適用)
1.建立工程,配置好串口 2.核心:添加新文件usar_fputc.c (名字隨便自己命名),把文件添加到項(xiàng)目中去    #include stdio.h   #include stm32f1xx_hal.h   extern UART_HandleTypeDef huart1;   uint8_t ch;   uint8_t ch_r;   //重寫這個(gè)函數(shù),重定向printf函數(shù)到串口   /*fputc*/   int fputc(int c, FILE * f)   {     ch=c;     HAL_UART_Transmit(&huart1,&ch,1,1000); //發(fā)送串口,不同的單片機(jī)函數(shù)和串口命名不同,
[單片機(jī)]
<font color='red'>STM32</font> 的 printf() <font color='red'>函數(shù)</font>串口重定向(HAL庫標(biāo)準(zhǔn)庫都適用)
STM32學(xué)習(xí)筆記(九)DMA(Direct memory access controller)
直接存儲(chǔ)器讀取 DMA簡(jiǎn)介 直接存儲(chǔ)器存取(DMA)用來提供在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間的高速數(shù)據(jù)傳輸。無須CPU干預(yù),數(shù)據(jù)可以通過DMA快速地移動(dòng),這就節(jié)省了CPU的資源來做其他操作。 DMA框圖 由圖可見,DMA 一共有 DMA1 和 DMA2 兩個(gè)控制器。DMA1 有7個(gè)通道,DMA2 有5個(gè)通道。 在存儲(chǔ)器和存儲(chǔ)器之間傳輸數(shù)據(jù)時(shí),可任選通道進(jìn)行傳輸;但在外設(shè)和存儲(chǔ)器之間傳輸數(shù)據(jù)時(shí),需要用到專用的通道。 各個(gè)通道的 DMA1 請(qǐng)求 各個(gè)通道的 DMA2 請(qǐng)求 DMA寄存器 中斷狀態(tài)寄存器 --- ISR(interrupt status register):存放DMA中斷的標(biāo)志位; 注意:若為D
[單片機(jī)]
安富萊 STM32 按鍵檢測(cè)
最近看了安富萊的按鍵檢測(cè)程序,支持短按,長(zhǎng)按,連續(xù)觸發(fā)和組合按鍵。內(nèi)部采用 FIFO 來保存觸發(fā)的按鍵,保證按鍵觸發(fā)不丟失,安富萊的程序穩(wěn)定,可擴(kuò)展性強(qiáng),可以在實(shí)際工程中使用。以下記錄一些使用上要注意的方面。 在 bsp_key.h 里: #define KEY_COUNT 2 /* 按鍵個(gè)數(shù), 2個(gè)獨(dú)立建*/ KEY_COUNT 代表 實(shí)際按鍵數(shù) + 組合按鍵數(shù) 。 /* 按鍵濾波時(shí)間50ms, 單位10ms。 只有連續(xù)檢測(cè)到50ms狀態(tài)不變才認(rèn)為有效,包括彈起和按下兩種事件 即使按鍵電路不做硬件濾波,該濾波機(jī)制也可以保證可靠地檢測(cè)到按鍵事件 */ #define KEY_FILTER_TI
[單片機(jī)]
STM32 點(diǎn)燈
LET燈 正極連上 電源正極3.3V,負(fù)極連到STM32的A0引腳上。 #include stm32f10x.h int main(void){ // 讓RCC為 GPIOA 外設(shè)提供時(shí)鐘信號(hào),從而使 GPIOA 外設(shè)能夠正常工作。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); ///初始化參數(shù)結(jié)構(gòu)體聲明 GPIO_InitTypeDef GPIO_InitStructure; // 配置 GPIOA 引腳 0 為目標(biāo)輸出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
[單片機(jī)]
<font color='red'>STM32</font> 點(diǎn)燈
stm32知識(shí)學(xué)習(xí)的先后順序
  這里大概的羅列了一些學(xué)習(xí)STM32的內(nèi)容,以及學(xué)習(xí)順序。如果是新手的話,建議邊看中文手冊(cè)和學(xué)習(xí)視頻;如果是已經(jīng)入門的,個(gè)人建議自己做一個(gè)項(xiàng)目,不論項(xiàng)目大小,當(dāng)然里面會(huì)涉及到自己已經(jīng)學(xué)習(xí)過的,或者是自己正在學(xué)習(xí)的,亦或是自己想來想要學(xué)習(xí)的,一邊學(xué)習(xí),一邊做項(xiàng)目。這樣好處頗多,大家慢慢去體會(huì)。下面就是本人所羅列的一些STM32的內(nèi)容,不需要看懂,只需要記住即可,在你以后慢慢深入的過程中,就會(huì)了解到的:   1、STM32基本配置(運(yùn)行環(huán)境、編譯器、下載器、板子等)。   2、GPIO(跑馬燈,蜂鳴器、按鍵),其中還有端口復(fù)用和重映射,以后用到再給大家介紹,不過可以先看看中文手冊(cè)。   3、時(shí)鐘(系統(tǒng)時(shí)鐘、RTC實(shí)時(shí)時(shí)鐘)。   4
[單片機(jī)]
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 临沂市| 兴山县| 原阳县| 汝阳县| 辽宁省| 六盘水市| 长沙县| 报价| 虞城县| 万山特区| 台中市| 鹿邑县| 皋兰县| 呼玛县| 天津市| 阜南县| 梧州市| 塔城市| 鹤壁市| 五华县| 和政县| 万荣县| 青田县| 凭祥市| 南岸区| 南华县| 花莲县| 开鲁县| 枞阳县| 蒙阴县| 浮梁县| 苍山县| 进贤县| 金坛市| 灵宝市| 儋州市| 宁都县| 兴和县| 灵武市| 扶风县| 德格县|