欢迎来到天天文库
浏览记录
ID:26711896
大小:29.50 KB
页数:7页
时间:2018-11-28
《STM32——基本定时一秒闪烁LED.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、STM32通用定时器的基本定时器功能实现灯闪烁/*Includes------------------------------------------------------------------*/#include"stm32f10x_lib.h"ErrorStatusHSEStartUpStatus;voidRCC_Configuration(void);//voidUSART_Configuration(void);voidGPIO_Configuration(void);voidTIM_Configurati
2、on(void);voidNVIC_Configuration(void);voiddelay(void);intmain(void){#ifdefDEBUGdebug();#endifRCC_Configuration();GPIO_Configuration();TIM_Configuration();//USART_Configuration();NVIC_Configuration();/*Infiniteloop*/while(1){if(TIM_GetITStatus(TIM2,TIM_IT_Update)
3、!=RESET){}}}/********************************************************************************FunctionName:assert_failed*Description:Reportsthenameofthesourcefileandthesourcelinenumber*wheretheassert_paramerrorhasoccurred.*Input:-file:pointertothesourcefilename*-
4、line:assert_paramerrorlinesourcenumber*Output:None*Return:None*******************************************************************************/voidRCC_Configuration(void){/*将外设RCC寄存器重设为缺省值*/RCC_DeInit();/*设置外部高速晶振(HSE)*/RCC_HSEConfig(RCC_HSE_ON);//RCC_HSE_ON——HSE
5、晶振打开(ON)/*等待HSE起振*/HSEStartUpStatus=RCC_WaitForHSEStartUp();if(HSEStartUpStatus==SUCCESS)//SUCCESS:HSE晶振稳定且就绪{/*设置AHB时钟(HCLK)*/RCC_HCLKConfig(RCC_SYSCLK_Div1);//RCC_SYSCLK_Div1——AHB时钟=系统时钟/*设置高速AHB时钟(PCLK2)*/RCC_PCLK2Config(RCC_HCLK_Div1);//RCC_HCLK_Div1——APB2时钟
6、=HCLK/*设置低速AHB时钟(PCLK1)*/RCC_PCLK1Config(RCC_HCLK_Div2);//RCC_HCLK_Div2——APB1时钟=HCLK/2/*设置FLASH存储器延时时钟周期数*/FLASH_SetLatency(FLASH_Latency_2);//FLASH_Latency_22延时周期/*选择FLASH预取指缓存的模式*/FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//预取指缓存使能/*设置PLL时钟源及倍频系数*/R
7、CC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL的输入时钟=HSE时钟频率;RCC_PLLMul_9——PLL输入时钟x9/*使能PLL*/RCC_PLLCmd(ENABLE);/*检查指定的RCC标志位(PLL准备好标志)设置与否*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET){}/*设置系统时钟(SYSCLK)*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//R
8、CC_SYSCLKSource_PLLCLK——选择PLL作为系统时钟/*PLL返回用作系统时钟的时钟源*/while(RCC_GetSYSCLKSource()!=0x08)//0x08:PLL作为系统时钟{}}/*使能TIM3的APB1外设时钟*/RCC_APB1PeriphClockCmd(RCC_APB1Periph_TI
此文档下载收益归作者所有