STM32外设驱动---SysTick精准延时
2017-01-14 22:11
295 查看
单片机:STM32F103
库函数:V3.5
描述:利用系统内核文件core_cm3.c内部SysTick实现1ms,1us的精准延时,时钟72MHz,涉及中断服务SysTick_Handler的注册。
delay.h
delay.c
中断服务stm32f10x_it.c
库函数:V3.5
描述:利用系统内核文件core_cm3.c内部SysTick实现1ms,1us的精准延时,时钟72MHz,涉及中断服务SysTick_Handler的注册。
delay.h
#ifndef __DELAY_H__ #define __DELAY_H__ #include "stm32f10x.h" extern void DelayMs(__IO uint32_t nTime); extern void DelayUs(__IO uint32_t nTime); //this function for systick handler function extern void TimingDelay_Decrement(void); #endif
delay.c
#include "delay.h" static __IO uint32_t TimingDelay; void DelayMs(__IO uint32_t nTime) { if (SysTick_Config(72000)) { /* Capture error */ while (1); } TimingDelay = nTime; while(TimingDelay != 0); } void DelayUs(__IO uint32_t nTime) { if (SysTick_Config(72)) { /* Capture error */ while (1); } TimingDelay = nTime; while(TimingDelay != 0); } void TimingDelay_Decrement(void) { if (TimingDelay != 0x00) { TimingDelay--; } }
中断服务stm32f10x_it.c
void SysTick_Handler(void) { TimingDelay_Decrement(); }
相关文章推荐
- STM32 SysTick 精准延时 简单分析
- stm32使用systick精确延时
- STM32中,systick具体延时时间计算
- 利用STM32的SysTick设计精确延时函数
- K60--滴答定时器(SysTick)实现精准延时
- STM32 systick做为系统时间使用(非简单延时)
- LPC1768实现精准延时——Systick的使用
- STM32外设驱动---LED
- STM32定时器写精准的延时函数
- STM32 SysTick 精确延时(非中断方式)
- STM32 外设配置关键步骤-驱动出了问题,不妨瞧瞧--待续
- STM32 SysTick定时器常见问题及延时函数的实现
- STM32 SysTick定时器做延时函数
- STM32使用systick实现精确延时
- stm32 软件精确延时非systick 非中断
- 【STM32】STM32之timer2的精准延时
- stm32 SysTick定时器常见问题和实现延时
- STM32--systick延时
- [SAN4N学习笔记]使用SysTick精准延时
- LPC1768实现精准延时——Systick的使用