新闻中心

EEPW首页>嵌入式系统>设计应用> STM32学习笔记——系统定时器SysTick的使用

STM32学习笔记——系统定时器SysTick的使用

作者: 时间:2016-11-28 来源:网络 收藏
//Cortex系统定时器SysTick提供1个24位、降序、零约束、写清除的计数器,具有灵活的控制机制

本文引用地址://m.amcfsurvey.com/article/201611/322883.htm

#include"stm32f10x_lib.h"

GPIO_InitTypeDefGPIO_InitStructure;//定义用于初始化配置GPIO的结构体变量

staticvu32TimingDelay;//定义为volatile类型

ErrorStatusHSEStartUpStatus;//定义枚举类型的错误状态

voidTimingDelay_Decrement(void);

voidRCC_Configuration(void);

voidNVIC_Configuration(void);

voidDelay(vu32nTime);

intmain(void)

{

#ifdefDEBUG

debug();

#endif

RCC_Configuration();//系统时钟配置

NVIC_Configuration();//NVIC配置

//系统默认SysTick是8分频(HCLK/8)当前系统时钟72M的话72/8=9MHZ

SysTick_SetReload(9000);//如果设置9000时,计数到9000时,产生1MS中断

//该函数设置SysTick的重装载值,因为是一个24位的计数器,所以重装载值必须在1到0x00ffffff之间

//开启SysTick中断

SysTick_ITConfig(ENABLE);//使能或者失能SysTick中断,参数取值有ENABEL或DISABEL

//开启GPIOB端口使能APB2

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;//选中第6,7,8,9脚

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//GPIO速度为50MHz

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设为推挽输出模式

GPIO_Init(GPIOB,&GPIO_InitStructure);//用配置好的结构体初始化PB口

GPIO_Write(GPIOB,GPIO_Pin_6|GPIO_Pin_8);//向GPIOB的6,8脚写数据

while(1)

{

GPIO_Write(GPIOB,(u16)~GPIO_ReadOutputData(GPIOB));//GPIOB口状态取反

Delay(500);//延时500MS

GPIO_Write(GPIOB,(u16)~GPIO_ReadOutputData(GPIOB));

Delay(500);//延时500MS

}

}

voidRCC_Configuration(void)

{

//复位RCC外部设备寄存器到默认值

RCC_DeInit();

//打开外部高速晶振

RCC_HSEConfig(RCC_HSE_ON);

//等待外部高速时钟准备好

HSEStartUpStatus=RCC_WaitForHSEStartUp();

//外部高速时钟已经准别好

if(HSEStartUpStatus==SUCCESS)

{

FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

FLASH_SetLatency(FLASH_Latency_2);

//配置AHB(HCLK)时钟=SYSCLK

RCC_HCLKConfig(RCC_SYSCLK_Div1);

//配置APB2(PCLK2)钟=AHB时钟

RCC_PCLK2Config(RCC_HCLK_Div1);

//配置APB1(PCLK1)钟=AHB1/2时钟

RCC_PCLK1Config(RCC_HCLK_Div2);

//配置ADC时钟=PCLK21/4

RCC_ADCCLKConfig(RCC_PCLK2_Div4);

//配置PLL时钟==外部高速晶体时钟*9

RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL频率为8*9=72MHz


上一页 1 2 下一页

评论


技术专区

关闭