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

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

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

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

 1:HSI振蕩器時鐘(內部時鐘)

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

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

 這些設備有以下2種二級時鐘源: 

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

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

 當不被使用時,任一個時鐘源都可被獨立地啟動或關閉,由此優(yōu)化系統(tǒng)功耗。

  

1:常用配置如下

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

 2:配置過程

 -將所有和時鐘相關的寄存器進行復位;

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

 -配置HCLK和SYSCLK相等;

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

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

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

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

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

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

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


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

時鐘控制寄存器:


時鐘控制寄存器:


      


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

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

推薦閱讀最新更新時間:2025-05-20 19:14

stm32外部晶振經倍頻后提供系統(tǒng)時鐘常用設置
void RCC_Configuration(void) { RCC_DeInit(); //將外設 RCC寄存器重設為缺省值(即默認值) RCC_HSEConfig(RCC_HSE_ON);//打開外部晶振 if(RCC_WaitForHSEStartUp() == SUCCESS) //判斷起振是否成功 { RCC_HCLKConfig(RCC_SYSCLK_Div1); //設置AHB時鐘(HCLK)(這時設置為=系統(tǒng)時鐘) RCC_PCLK2Config(RCC_HCLK_Div1); //設置高速AHB時鐘(HCLK2)(這時設置為=HCLK) RCC_PCLK1Co
[單片機]
MSP430主系統(tǒng)時鐘以及430的低功耗設置
如何將系統(tǒng)時鐘設置到外部高頻晶體振蕩器,430的MCLK默認的是DCO的,如何安全的從DCO切換到外部晶體振蕩器,這是一個很重要的步驟,因為經過此步驟,可以極大地提高430的處理能力,DCO在內部,可以為cpu提供強勁穩(wěn)定的時鐘 #include msp430x14x.h void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; volatile unsigned int i; P5DIR |=BIT4;//設置P5.4為輸出 P5SEL |=BIT4;//設置片內主系統(tǒng)時鐘的
[單片機]
MSP430主<font color='red'>系統(tǒng)</font><font color='red'>時鐘</font>以及430的低功耗設置
STM32通過IIC讀取MPU6050陀螺儀芯片數(shù)據(jù)核心程序
1 簡 介 最近,想學角度融合算法在網(wǎng)上買一個JY61的模塊。他們家的模塊用起來還不錯。模塊分為串口通訊和IIC通訊的。串口讀取數(shù)據(jù)他們家有例程,我就不說了。想分享給大家這個模塊的IIC是怎么去讀取MPU6050芯片數(shù)據(jù)的。 作讀取寄存器。大致過程就是STM32和MPU6050先建立好IIC通訊。再去初始化MPU6050芯片。然后單片機再去讀取寄存器,就能把數(shù)據(jù)讀取出來了。 2 配置32單片機的IIC引腳 根據(jù)你32單片機的原理圖,找到你的IIC引腳。 a 時鐘RCC的配置 自己寫的為例子。 b GPIO口的配置 注意:SCL和SDA都得接上兩個4.7K的電阻。不然你是讀取不到MPU6050的數(shù)據(jù)。 c 3
[單片機]
STM32(4):基于構件庫的點亮LED
概述 第一、二章節(jié)中,STM32是純裸開發(fā),通過自定義地址來進行寫寄存器;STM32其實提供了底層固件庫,定義好了通用功能,所以如果是常規(guī)功能只需要調用固件庫的API即可實現(xiàn)功能。所以我在番外篇說了,其實熬過了前兩章,后面的內容反而要簡單。 從本章開始,我們的絕大多數(shù)的開發(fā)內容都是基于STM32的固件庫進行的。 從main函數(shù)說起 用c編寫函數(shù),都知道入口函數(shù)是main函數(shù),程序跑起來一定會找main函數(shù);所以我們的編譯器在編譯的時候還會做強制的main函數(shù)重復檢測,避免定義多個main函數(shù)執(zhí)行的時候導致不可預知的結果; 但是,為什么選擇的是main呢?我們覺得理所當然,其實有人替你負重前行,如果你做gcc編譯的c代碼,然后在Li
[單片機]
《嵌入式-STM32開發(fā)指南》第一部分 入門篇 - 第5章 STM32新建工程及配置
5.1 新建文件 5.1.1 新建文件夾 在 STM32-Template 文件夾下,我們新建四個文件夾,分別為DIF、Doc、Listing、Output、User。其中DIF中包含兩個文件夾CMSIS和Fwilb, CMSIS 用來存放庫為我們自帶的啟動文件和一些 M3系列的通用文件。CMSIS文件里存放的文件適合任何M3內核的單片機,CMSIS 的 縮寫為:Cortex Microcontroller Software Interface Standard,是 ARM Cortex 微控制器 軟件接口標準,是 ARM 公司為芯片廠商提供的一套通用的且獨立于芯片廠商 的處理器軟件接口;FWlib 用來存放 STM32 庫里面的
[單片機]
STM32多機通信
從機io口設置 多機通信系統(tǒng)中,從機采用漏級開路方式連接,從設備的串口必須配置為漏極開路,不能是推挽方式,推挽方式的高、低電平的驅動能力很強,如果將兩個不同電平的io口連接在一起,會導致灌電流過大燒壞io口,漏極開路的漏級有上拉電阻會限制電流的大小。 一主多從的硬件連接方式 主機的TX輸出與從機的RX端口直接相連,從機的TX端口經過與門與主機的RX端口相連接。由于輸出口為推挽輸出,直接將從機的Tx與主機的RX相連即可。 通信機制 多機通信機制是使從機處于靜默狀態(tài),從機發(fā)送指令喚醒從機,然后發(fā)送數(shù)據(jù)。 靜默狀態(tài)的特點 (1)所有接收狀態(tài)都不會被置為1。 (2)所有的接收中斷都被禁止。 (3)USART_CR1寄存器中的RWU被置為1
[單片機]
<font color='red'>STM32</font>多機通信
STM32 控制舵機, 動態(tài)調整PWM
伺服電機擁有更大的扭矩,可以移動沉重的負荷。 深受玩具制造商的歡迎。很多玩具都有伺服電機和直流電機 交流伺服電機可以移動更沉重的負載,一般在工業(yè)應用。直流伺服電機最多用于搬動小物品。 span font-size:14px;font-variant-numeric:normal;font-variant-east-asian:normal;line-height:18px;white-space:normal;background-color:#ffffff; = style= overflow-wrap: break-word; color: rgb(46, 48, 51); font-family: 宋體, Arial; t
[單片機]
<font color='red'>STM32</font> 控制舵機, 動態(tài)調整PWM
STM32 wavplayer播放單聲道音頻的處理方法
最近在使用rtthread 的 audio設備播放wav的音頻,MCU使用的是STM32F4,使用過程中發(fā)現(xiàn),不能在播放單聲道音頻的時候會特別快,究其原因是因為STM32的I2S是雙聲道輸出,而音頻輸入的聲音是單聲道的,相當于少一個聲道的數(shù)據(jù),其實如果播放立體聲音頻就沒有問題了。 但是使用立體聲音頻會增加WAV文件的體積,這樣占用的FLASH空間就大了,目前想到的方案是將讀取到的音頻數(shù)據(jù)擴展到雙聲道,我們直接修改wavplayer.c中的內容,如果有更好的解決方案,歡迎指正: 修改點如下: 1、聲明一個聲道數(shù)變量來記錄當前音頻的聲道數(shù),在聲明一個ushort類型的指針,方便后邊計算 2、獲取當前音頻的聲道數(shù) 3、獲取音頻文
[單片機]
<font color='red'>STM32</font> wavplayer播放單聲道音頻的處理方法
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 绍兴县| 黑水县| 永登县| 汉川市| 女性| 元氏县| 开化县| 龙游县| 宣武区| 巴林左旗| 东明县| 淮滨县| 海口市| 南川市| 安仁县| 兴宁市| 文昌市| 牡丹江市| 漠河县| 承德市| 平凉市| 阜康市| 同心县| 湖口县| 赤城县| 呈贡县| 嘉义市| 桂平市| 稷山县| 广元市| 广州市| 斗六市| 双柏县| 塘沽区| 汝州市| 启东市| 克拉玛依市| 乌拉特前旗| 浦东新区| 西充县| 济宁市|