前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >systick的使用方法_cleardevice函数

systick的使用方法_cleardevice函数

作者头像
全栈程序员站长
发布2022-09-21 20:43:13
3700
发布2022-09-21 20:43:13
举报

大家好,又见面了,我是你们的朋友全栈君。

systick的原理前一篇博文有介绍,简而言之就是 SysTick定时器是一个24位的倒计数,当倒计数为0时,将从RELOAD寄存器中取值作为定时器的初始值,同时可以选择在这个时候产生中断(异常号:15)。 例如从RELOAD的值为999,那么当倒计数为0时,就会从复位为999继续倒计数。 库文件当中有systick的专用库函数的,这里暂时不用到。 在keil工程当中,新建systick.c,systick.h文件,

#ifndef __SYSTICK_H #define __SYSTICK_H

#include “stm32f10x.h”

void RCC_Configuration(void); void Delay_SYSTICK(__IO uint32_t nTime);

#endif /* __SYSTICK_H */

#include “SYSTICK.h”

static __IO uint32_t TimingDelay;

/**************************************************************************** * 名 称:void TimingDelay_Decrement(void) * 功 能:获取节拍程序 * 入口参数:无 * 出口参数:无 * 说 明:此函数在stm32f10x_it.c文件调用 * 调用方法:无 ****************************************************************************/ void TimingDelay_Decrement(void) { if (TimingDelay != 0x00) { TimingDelay–; } }

/**************************************************************************** * 名 称:void Delay(__IO uint32_t nTime) * 功 能:定时延时程序 1ms为单位 * 入口参数:无 * 出口参数:无 * 说 明: * 调用方法:无 ****************************************************************************/ void Delay_SYSTICK(__IO uint32_t nTime) { TimingDelay = nTime; while(TimingDelay != 0); }

***注意在CC++的目录中添加相应的头文件目录。

在stm32f10x_it.c文件中添加如下声明:extern void TimingDelay_Decrement(void); 同时更新如下函数为: void SysTick_Handler(void) { TimingDelay_Decrement(); }

在main函数中, 添加 //First to config the system clock RCC_Configuration(); //系统时钟设置及各外设时钟使能

if (SysTick_Config(72000)) //时钟节拍中断时1ms一次 用于定时 { /* Capture error */ while (1); } 让clock运行起来,同时,开启systick定时器,其时钟可以是HCLK的8分频或是HCLK,SysTick_Config函数默认是选用HCLK时钟的,72000/72000000 = 1/1000 = 1ms。 之后就可以调用Delay_SYSTICK(500)来延时500ms。而且不占用cpu,比for(;;)循环高效多了。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166431.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档