arm時鐘配置
一般大家在使用arm程式時,都是參考已經寫好的程式,這樣下來既方便又省事,但是每當被問及底層的問題時,往往會出現一知半解的情況,當碰到關於出現時鐘發麵的問題時,往往無從下手。比如系統時鐘配置的問題,樓主之前也是挪用成熟的程式碼,雖然功能實現了,但仍然感覺瞭解的不太徹底,趁此機會,就好好的看了下系統時鐘的程式碼。
系統時鐘在配置時,應用程式在system_stm32f4xx.c庫檔案中,在該檔案中有一個void SystemInit(void)函式,該函式如下:
函式的前一部分都是對系統暫存器進行初始化操作,具體參考晶片暫存器,主要配置在SetSysClock()函式中,
SetSysClock()函式如下(該函式包括了挺多晶片,這裡我選擇型的選取的407):
該處程式主要開啟了HSE,以及對HCLK,PCLK2,PCLK1進行初始化,當HSE為8Mhz時,此處的頻率略低,那麼如何提高頻率呢,當然需要PLL了,接下來的程式就是對PLL進行配置,如下
函式中的PLL_M, PLL_N, PLL_P, PLL_Q這些配置引數起到很關鍵的作用,這些引數也是在該檔案中進行定義的,具體如下:
因此,在修改系統時鐘時,修改這些資料的定義即可。到此結束,希望大神能給予更全面的講解。
相關推薦
arm時鐘配置
一般大家在使用arm程式時,都是參考已經寫好的程式,這樣下來既方便又省事,但是每當被問及底層的問題時,往往會出現一知半解的情況,當碰到關於出現時鐘發麵的問題時,往往無從下手。比如系統時鐘配置的問題,樓主之前也是挪用成熟的程式碼,雖然功能實現了,但仍然感覺瞭解的不太徹底,趁此機會,就好好的看了下系統時
【vivado】clocking wizard 時鐘配置
mode ive mod body ati 頻率 HA 架構 地址 1、結構:MMCM和PLL mixed-mode clock manager (MMCM),phase-locked loop (PLL) 這兩種primitive架構不同,MMCM實現更
STM32 時鐘配置的坑
article 這位 value endif osc tar defined 公司 代碼 今天在調試公司的一款產品的時候發現8M的晶振用完了,於是找了一個16M的替代 坑爹的就在這裏,明明已經把時鐘按照時鐘樹配置好了,但是串口等外設一直無法正常工作 折騰了一下午,終於發現這
STM32F4時鐘配置
看了下時鐘樹按照http://blog.csdn.net/louyangyang91/article/details/51374924這個博文配置了,結果發現UART波特率不對,但是MOC1\2都是正常輸出(168M/5分頻輸出),蒙了很久才發現 USART_Init(USART1, &
stm32 系統時鐘配置
HSE:72M,HSE:64M,HSI:64M 程式碼實現: // 時鐘設定 //#define MAINCLOCK_72M // HSE,外部時鐘 //#define MAINCLOCK_64M_EXTERN // HSE #define MAINCLOCK_64M
STM32F407的時鐘配置
size control isp bsp cloc 外置 外部 strong ron 有3種時鐘, HSI,High Speed Internal,默認是這個 HSE,High Speed External,用外置晶振,官方開發板默認晶振為25MHz,stm32f4xx
TMS320X281x介紹與系統時鐘配置
TMS320X2812的資源、效能 TMS320X2812是TI公司推出的32位定點DSP晶片,採用了先進的哈佛匯流排架構,其不但具有強大的數字訊號處理能力,而且還有較為完善的事件管理器功能和嵌入式控制功能,主頻高達150MHz,因此廣泛應用於工業控制等領域 TMS3
10-STM32的ADC轉換和RTC時鐘配置
一.ADC 1.復位並清除ADC通道,HAL_ADC_MspInit() 2.ADC通道時鐘使能 __HAL_RCC_ADC_CLK_ENABLE() 3.GPIO通道時鐘使能,引腳配置 __HAL_RCC_GPIOx_CLK_ENABLE();HAL_GPIO_
專題7-ARM時鐘初始化
1.1 時鐘脈衝訊號:按照一定的電壓幅度,一定的時間間隔連續發出的脈衝訊號。 1.2 時鐘脈衝頻率:單位時間內(1秒)產生的時鐘脈衝的個數。 1.3 訊號源: 1)晶振:晶振全稱晶體振盪器,是用石英晶體經精密切割磨削並渡上電極焊上引線做成。 優點:結構簡
stm8L時鐘配置RTC配置
介紹 電池在滿足MCU最小供電狀態下,無論MCU是執行、低功耗或重啟狀態,RTC一直處於工作狀態。 主要特性如下: 日曆功能 週期喚醒 事件觸發 脈衝輸出 配置RTC時鐘源 RTC時鐘源可選HSE,LSE,HSI或LSI。 為確保RTC精確工作,
韋東山ARM第一期作業(一)ARM時鐘體系
文章目錄 01 - 作業所在路徑 02 - 作業描述 03 - 作業解答 01 - 作業所在路徑 ARM裸機1期加強版\原始碼文件圖片\文件圖片\第010課_掌握ARM晶片時鐘體系 02 - 作業描述 根據S3C4
exynos 4412 時鐘配置
/** ****************************************************************************** * @author Maoxiao Hu * @version V1.0.0 * @date Jan-2015 *****
stm32時鐘配置 STM32CubeMX配置時鐘
軟體: (1)STM32CubeMX (2)KEIL5一、在時鐘配置過程中需結合實際情況配置外部晶振,教程配置外部晶振。如果沒有外部晶振則不用選擇,匯出時會自動生成內部時鐘程式。所對應的IO口也可以設定為普通IO口使用。1.在硬體上加入晶振,選擇相對應的晶振引腳(不選擇則預設
STM32:外部晶振時鐘配置
void SystemClock_Config(void) { RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); //INPUT HSE = 24M Err
STM32在外部32Mhz晶振下的時鐘配置方法
1. 硬體平臺 本例程使用的是 STM32F302RDT6 晶片,其時鐘配置方法在其它ST微控制器中也類似。 2. 實驗目的 使用外部 32Mhz 晶振配置系統時鐘為 72Mhz。 3. 配置原理 根據STM32F302RD晶片
STM32時鐘配置、GPIO配置
2017年11月13日 13:37 天氣:多雲,反正是看不到黨的光輝。。。。 今天在配置STM32的時鐘和GPIO時,發現了一個現象:GPIO埠的時鐘使能訊號必須在GPIO的
如何確認STM32時鐘配置是否正確
配置STM32F103時鐘(HSI)為48M void SystemClock_Config(void) { RCC_DeInit(); RCC_HSICmd(ENABLE); while(RCC_GetFlagStatus(RC
STM32F0xx_RTC實時時鐘配置詳細過程
Ⅰ、概述 今天總結RTC(Real Time Clock)實時時鐘相關的知識,順帶將BKP簡單總結一下。 STM32的RTC模組和時鐘配置系統(RCC_BDCR暫存器)處於後備區域,即在系統復位或從待機模式喚醒後, RTC的設定和時間維持不變。 STM32F0的RTC模組和
ARM-Linux配置DHCP自動獲取IP地址
備註: 核心版本:2.6.30.9 busybox版本:1.15.2 PC Linux和開發板Linux的工作使用者:root 1. 配置核心: [*] Networking support ---> Networking options ---> <*> Pa
STM32 I/O複用功能時鐘配置
RCC_APB2Periph_AFIO--複用IO時鐘的使用 為了優化64腳或100 腳封裝的外設數目,可以把一些複用功能重新對映到其他引腳上。設定複用 重對映和除錯I/O 配置暫存器(AFIO_MAPR) 實現引腳的重新對映。這時,複用功能不再對映到它 們的原始