STM32外设驱动---SysTick精准延时
生活随笔
收集整理的這篇文章主要介紹了
STM32外设驱动---SysTick精准延时
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
單片機:STM32F103?
庫函數: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); #endifdelay.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精准延时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32F103的systick时间不
- 下一篇: STM32下SysTick的一个容易发生