stm32之systick应用

来源:互联网 发布:手机淘宝怎样添加客服 编辑:程序博客网 时间:2024/05/17 22:52

直接上代码:


systick.h

#ifndef SYSTICK_H#define SYSTICK_H#include"stm32f10x.h"extern unsigned int TimingDelay;void TimingDelay_Decrement(void);void Delay(unsigned int value);#endif



systick.c

#include"systick.h" void TimingDelay_Decrement(void){if(TimingDelay != 0x00){TimingDelay--;}}void Delay(unsigned int value){TimingDelay=value;//等待TimingDelay为0while(TimingDelay != 0x00);}

stm32f10x_it.c

#include "stm32f10x_it.h"extern void TimingDelay_Decrement(void);void SysTick_Handler(void){TimingDelay_Decrement();}


main.c
#include"stm32f10x.h"//该变量extern在systick.h文件中unsigned int TimingDelay; int main(void){RCC_Configuration(); //时钟配置函数  GPIO_Configuration(); //GPIO口配置函数//此函数传递参数*(1/72000MHz)为定时区间,此处为1msSysTick_Config(72000);while(1) {GPIO_SetBits(GPIOD,GPIO_Pin_1);Delay(1000);GPIO_ResetBits(GPIOD,GPIO_Pin_1);Delay(1000);}}

可看到led以1s(1000*1ms)的周期闪亮。

0 0
原创粉丝点击