<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 智林STM32程序源代碼的分析和整理02

智林STM32程序源代碼的分析和整理02

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò ) 收藏
一、STM32時(shí)鐘配置程序分析

1、RCC

本文引用地址:http://dyxdggzs.com/article/201611/322959.htm

RCC是指Reset and Clock Control復位和時(shí)鐘控制。主要寄存包括控制、配置、中斷、外設復位、外設時(shí)鐘使能、復位狀態(tài)寄存器。

內核的工作時(shí)鐘為SysClk,它的來(lái)源有三種:外部時(shí)鐘HSE、內部時(shí)鐘HSI和PLL輸出時(shí)鐘。當然PLL的時(shí)鐘也是來(lái)自于外部或內部時(shí)鐘。

2、我的源程序

void RCC_Config(void){//時(shí)鐘配置,采用外部時(shí)鐘和PLL

ErrorStatus HSEStartUpStatus;

RCC_DeInit();

HSEStartUpStatus = RCC_WaitForHSEStartUp();

//如果外部時(shí)鐘起振成功

if(HSEStartUpStatus == SUCCESS)

{

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

FLASH_SetLatency(FLASH_Latency_2);

RCC_HCLKConfig(RCC_SYSCLK_Div1);// HCLK = SYSCLK AHB時(shí)鐘等于系統時(shí)鐘

RCC_PCLK2Config(RCC_HCLK_Div1);

RCC_PCLK1Config(RCC_HCLK_Div2);// PCLK1 = HCLK/2 APB1時(shí)鐘等于1/2AHB時(shí)鐘

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6);

RCC_PLLCmd(ENABLE);

//等待PLL準備好

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//選擇PLL作為系統時(shí)鐘

while(RCC_GetSYSCLKSource() != 0x08);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//使能APB1上的TIM2

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//使能三個(gè)IO口時(shí)鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//使能IO復用功能時(shí)鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//使能串口1時(shí)鐘

}

二、NVIC的配置

1、NVIC

它是指嵌套向量中斷控制器。中斷的數目與向量表的大小相關(guān)。加上保留的,每個(gè)向量占據4個(gè)字節,一共占據0x0000,00EC個(gè)字節。NVIC的配置與具體中斷相關(guān),都在具體器件里配置,所以程序里的代碼很少。

2、源代碼

void NVIC_Config(void){

#ifdefVECT_TAB_RAM

NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

#else

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

#endif

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//STM32共有四位數字進(jìn)行優(yōu)先級選擇

}



關(guān)鍵詞: 智林STM32程序源代

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>