新闻中心

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

STM32学习笔记—SysTick定时器

作者: 时间:2013-01-24 来源:网络 收藏

void SysTick_Configuration(void)

{

/* Select AHB clock(HCLK) as SysTick clock source 设置AHB时钟为SysTick时钟*/

SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);

/* Set SysTick Priority to 3 设置SysTicks中断抢占优先级 3, 从优先级0*/

NVIC_SystemHandlerPriorityConfig(SystemHandler_SysTick, 3, 0);

/* SysTick interrupt each 1ms with HCLK equal to 72MHz 每1ms发生一次SysTick中断*/

SysTick_SetReload(72000);

/* Enable the SysTick Interrupt */

SysTick_ITConfig(ENABLE);

}

延时函数,需要延时处调用:

view plaincopy to clipboardprint?

void Delay(u32 nTime)

{

/* Enable the SysTick Counter 允许SysTick计数器*/

SysTick_CounterCmd(SysTick_Counter_Enable);

TimingDelay = nTime;

while(TimingDelay != 0)

; //等待计数至0

/* Disable the SysTick Counter 禁止SysTick计数器*/

SysTick_CounterCmd(SysTick_Counter_Disable);

/* Clear the SysTick Counter 清零SysTick计数器*/

SysTick_CounterCmd(SysTick_Counter_Clear);

}

void Delay(u32 nTime)

{

/* Enable the SysTick Counter 允许SysTick计数器*/

SysTick_CounterCmd(SysTick_Counter_Enable);

TimingDelay = nTime;

while(TimingDelay != 0)

; //等待计数至0

/* Disable the SysTick Counter 禁止SysTick计数器*/

SysTick_CounterCmd(SysTick_Counter_Disable);

/* Clear the SysTick Counter 清零SysTick计数器*/

SysTick_CounterCmd(SysTick_Counter_Clear);

}

中断函数,定时器减至零时调用,放在stm32f10x_it.c文件中

view plaincopy to clipboardprint?

void SysTickHandler(void)

{

TimingDelay--;

}

尘埃粒子计数器相关文章:尘埃粒子计数器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭