Systick定时器

news2024/11/26 15:43:57

一、SysTick定时器介绍

  • SysTick定时器也叫SysTick滴答定时器,它是Cortex-M3内核的一个外设,所有使用Cortex-M3内核的单片机都具有这个定时器。Systick被内嵌在NVIC寄存器中,是一个24位的向下递减计数的定时器,在stm32中它的时钟通常由系统时钟8分频后得到。
  • Systick定时器启动后,首先装载LOAD寄存器中的定时器初始值,然后向下递减计数,如果systick开启了中断,当计数值为0时,将产生一个中断信号。

二、Systick寄存器

2.1、控制及状态寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wvqQLFs2-1684138469845)(https://note.youdao.com/yws/res/6/WEBRESOURCE74f8d98c85c4e3a59471dece56be6cb6)]

2.2、重装载数值寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GHhn2NYL-1684138469846)(https://note.youdao.com/yws/res/e/WEBRESOURCEf4e69a4bfadac3461dda911d84e6263e)]

  • systick计数的初始值,当倒数至零时,重新从这个值开始倒数
  • 该寄存器为24位,需要注意最大值不能溢出;

2.3、当前数值寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GE5ex31t-1684138469846)(https://note.youdao.com/yws/res/6/WEBRESOURCEb28a3d9343282f2aeb2b12aa7335e526)]

2.4、校准数值寄存器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2URq85w-1684138469846)(https://note.youdao.com/yws/res/c/WEBRESOURCEc33dfdaf0990d1f149b87096b302191c)]

三、stm32+HAL库代码

unsigned short fac_us = 0;
unsigned short fac_ms = 0;
void Delay_Init()
{
	SysTick->CTRL &= ~(1<<2);//选择系统时钟8分频作为systick时钟源
	fac_us=SystemCoreClock/8000000;	//1us计数值			
 
    fac_ms=(unsigned short)fac_us*1000;	//1ms计数值	
}
void DelayMs(unsigned short nms)
{
	uint32_t temp;
	SysTick->LOAD  =nms*fac_ms; //计数值  
	SysTick->VAL   =0x00;      //当前数值寄存器设置为0   
	SysTick->CTRL  |=SysTick_CTRL_ENABLE_Msk;  //将systick控制状态寄存器第一位设置为1,使能systick定时器
	do
	{
		temp=SysTick->CTRL;   
	}while((temp&0x01)&&!(temp&(1<<16)));//temp&0x01判断systick是否使能, temp&(1<<16)判断控制状态寄存器的第16位是否为0,即一轮计数是否结束  
	SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;//关闭systick	
	SysTick->VAL =0X00;      					 
}
void DelayUs(unsigned int nus)
{
	unsigned int temp;	    	 
	SysTick->LOAD=nus*fac_us; 						  		 
	SysTick->VAL=0x00;        					
	SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;	  
	do
	{
		temp=SysTick->CTRL;
	}while((temp&0x01)&&!(temp&(1<<16)));		  
	SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;	
	SysTick->VAL =0X00;      					 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/529369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Xcode真机运行报错:Failed to prepare the device for development解决方法

一、遇到的问题 运行Xcode然后打包APP&#xff0c;结果Xcode报错&#xff0c;如下&#xff1a; Failed to prepare the device for development. This operation can fail if the version of the OS on the device is incompatible with the installed version of Xcode. You …

9个刚入门产品经理必备的原型工具

每一个产品的诞生都离不开一个优秀的产品经理&#xff0c;每一个优秀的产品经理都离不开一个原型图软件。 一款好用的产品原型图软件&#xff0c;可以让产品经理在绘制原型图时事半功倍。 本文总结了9款产品经理常用的产品原型图软件。如果你是产品经理小白&#xff0c;赶紧收…

路径规划算法:基于正余弦算法的路径规划算法- 附代码

路径规划算法&#xff1a;基于正余弦优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于正余弦优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法…

Java【网络编程2】详解基于 TCP 协议的 Socket API, 逐行代码解析如何服务器客户端通信(附代码)

文章目录 前言一、认识 Socket(套接字), TCP 协议和 UDP 协议1, 什么是 Socket(套接字)2, 浅谈 TCP 协议和 UDP 协议的区别和特点 二、基于 TCP 协议的 Socket API1, ServerSocket 类2, Socket 类 三、逐行代码解析网络编程1, 逐行解析客户端1.1, 核心成员方法 start() 2, 逐行…

三维空间与位姿变换

在使用相机或者机械臂的过程中&#xff0c;经常会用到三维空间变换&#xff0c;大部分时候我们可以使用TF去获取空间中的位姿关系&#xff0c;但是也存在一些时候无法使用现有TF表示的情况&#xff0c;例如&#xff1a;使用相机识别工件时&#xff0c;已知通过图像确定了相机到…

C++ - RBTree

前面的文章中我们讲述了以二叉搜索树为基础的AVL树&#xff0c;本文中我们将继续讲一种二叉搜索树为基础的红黑树。 红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条…

冲量在线出席2023鲲鹏昇腾开发者峰会,联合鲲鹏打造可信AIGC一体机,共筑产业数字根基

近日&#xff0c;以“创未来 享非凡”为主题的2023鲲鹏昇腾开发者峰会在东莞松山湖举办。鲲鹏昇腾开发者峰会是面向ICT领域开发者的技术盛会&#xff0c;旨在打造生态伙伴、开发者学习、交流的平台&#xff0c;帮助开发者深入了解鲲鹏、昇腾全栈技术&#xff0c;加速行业技术、…

超聚变携手冲量在线打造可信AIGC计算联合解决方案:软硬件高效协同之跃

金融行业作为全球经济的核心引擎&#xff0c;不断变革和创新是其发展的常态&#xff0c;在算力这一日趋成为数字经济时代的新型生产力的趋势下&#xff0c;围绕金融业数字化&#xff0c;业界展开了新一轮探索。 近日&#xff0c;2023中国国际金融展&#xff08;简称&#xff1…

uniapp app 实现qq登录、微信登录

一、申请 uniapp qq登录流程&#xff1a; 开通 | uni-app官网 申请微信登录可前往微信开发平台&#xff1a;微信开放平台 uniapp 微信登录流程&#xff1a; uni-app官网 申请qq登录可前往qq互联&#xff1a;QQ互联官网首页 这些都可以请运维同学帮我们申请&#xff0c;前…

【Linux】驱动内核调试,是需要几板斧的

目录 前言&#xff1a; 一、基础打印工具 &#xff08;1&#xff09;printk---最常用 ①Log Buffer: ②Console&#xff1a; ③RAM Console&#xff1a; &#xff08;2&#xff09;动态打印 ①动态打印与printk之间的区别联系 ②动态打印常用的例子 ③动态打印转为pri…

推荐系统---AUC / NDGG

目录&#xff1a; ROC / AUC1&#xff1a;坐标含义&#xff08;横坐标&#xff09;FPR&#xff1a;伪阳性率&#xff0c;分类器 “分类错误的负样本个数” 占 “总负样本个数” 的比例。&#xff08;纵坐标&#xff09;TPR&#xff1a;真阳性率&#xff0c;分类器 “分类正确的…

centos 7.6 安装mysql 5.7.35

centos 7.6 安装mysql 5.7.35 1、下载mysql安装包2、安装文档3、安装MySQL包4、安装后形成的配置文件和程序位置5、安装后设置5.1、修改MySQL root账户默认密码5.2、关闭系统防火墙 6、使用mysql 5.7.35 数据库6.1、命令行登录MySQL 5.7.35 数据库6.2、navicat连接mysql 5.7.35…

酒精和肠内外健康:有帮助还是有害?

谷禾健康 酒精与健康 饮酒作为一种特殊的文化形式&#xff0c;在我们国家有其独特的地位&#xff0c;在几千年的发展中&#xff0c;酒几乎渗透到日常生活、社会经济、文化活动之中。 据2018年发表的《中国饮酒人群适量饮酒状况》白皮书数据显示&#xff0c;中国饮酒人群高达6亿…

MS5208数模转换器可pin对pin兼容DAC128S085

DAC128S085 是一款功能齐全的通用八通道 12 位电压输出数模转换器 &#xff08;DAC&#xff09;&#xff0c;可采用 2.7V 至 5.5V 单电源供电&#xff0c;3V 时功耗为 1.95mW&#xff0c;5 V 时功耗为 4.85mW。DAC128S085 采用 16 引脚 WQFN 封装和 16 引脚 TSSOP 封装。WQFN 封…

Convolutional Neural network(卷积神经网络)

目录 Why CNN for Image&#xff1f; The whole CNN structure Convolution&#xff08;卷积&#xff09; Max Pooling Flatten CNN in Keras What does CNN learn&#xff1f; what does filter do what does neuron do what about output Deep Dream Application Pla…

数据库缓存服务——NoSQL之Redis配置与优化

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度&#xff0c;在中间对速度较慢的一方起到加速作用&#xff0c;比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据&#xff0c;内存是保存CPU经常访问硬盘的数据&#xff0c;而且硬盘也有大小不一的缓存…

测试用例的设计方法

目录 测试用例的设计方法 等价类&#xff1a; 等价类分为有效等价类与无效等价类 分类树 边界值&#xff1a; 语法测试 正面测试&#xff1a; 负面测试&#xff1a; 判定表测试 因果图&#xff1a; 场景法&#xff1a; 随机测试&#xff1a; 希望能起到帮助&#xf…

关于使用pyinstaller来打包PySide2程序中的问题

打包 pyinstaller 02.py --noconsole --hidden-import PySide2.QtXml 报错0&#xff1a;The ‘pathlib‘ package is an obsolete backport of a standard library package 分析&#xff1a;这个是因为笔者使用的conda的集成环境&#xff0c;这里面自带了打包程序&#xff0c…

Cocos creator小游戏实现套牛小游戏资源及代码

Cocos creator实现套牛小游戏资源及代码 一 安装CocosDashBoard二 新建2D项目RunCow1、管理项目目录2、搭建界面 三 上线微信小游戏1、上线微信小游戏2、Cocos Creator代码打包上传3、上线微信小游戏出现问题 Cocos creator小游戏实现套牛小游戏资源及代码 最近在学习Cocos Cre…

23案例P135-员工部门增删改查实现

一、准备工作 需要完成tlias的部门管理和员工管理 创建tlias数据库&#xff0c;导入 -- 部门管理 create table dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称,create_time datetime not null commen…