stm32滴答计时器_STM32的系统滴答定时器(Systick)

1.systick时钟来源

2.SysTick库函数

3.源码

/**

*@}

*/

/** @defgroup SysTick_clock_source

*@{

*/

#define SysTick_CLKSource_HCLK_Div8    ((uint32_t)0xFFFFFFFB)

#define SysTick_CLKSource_HCLK         ((uint32_t)0x00000004)

#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \

((SOURCE) == SysTick_CLKSource_HCLK_Div8))

/**

*@brief  Configures the SysTick clocksource.

*@param  SysTick_CLKSource: specifies theSysTick clock source.

*   This parameter can be one ofthe following values:

*     @argSysTick_CLKSource_HCLK_Div8: AHB clock divided by 8 selected as SysTick clocksource.

*     @arg SysTick_CLKSource_HCLK:AHB clock selected as SysTick clock source.

*@retval None

*/

void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)

{

/* Check the parameters */

assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));

if (SysTick_CLKSource == SysTick_CLKSource_HCLK)

{

SysTick->CTRL |= SysTick_CLKSource_HCLK;

}

else

{

SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;

}

}

/*##################################   SysTick function ############################################ */

#if (!defined (__Vendor_SysTickConfig)) || (__Vendor_SysTickConfig == 0)

/**

*@brief  Initialize and start the SysTickcounter and its interrupt.

*

*@param   ticks   number of ticks between two interrupts

*@return  1 = failed, 0 = successful

*

*Initialise the system tick timer and its interrupt and start the

*system tick timer / counter in free running mode to generate

*periodical interrupts.

*/

static __INLINE uint32_t SysTick_Config(uint32_t ticks)

{

if (ticks > SysTick_LOAD_RELOAD_Msk)  return (1);            /* Reload value impossible */

SysTick->LOAD  = (ticks & SysTick_LOAD_RELOAD_Msk) - 1;      /* set reload register */

NVIC_SetPriority (SysTick_IRQn, (1VAL   = 0;                                          /* Load the SysTick Counter Value */

SysTick->CTRL  = SysTick_CTRL_CLKSOURCE_Msk |

SysTick_CTRL_TICKINT_Msk   |

SysTick_CTRL_ENABLE_Msk;                   /* Enable SysTick IRQ and SysTick Timer*/

return (0);                                                 /* Function successful */

}

#endif

#ifdefSYSCLK_FREQ_HSE

uint32_t SystemCoreClock         = SYSCLK_FREQ_HSE;        /*!#elif defined SYSCLK_FREQ_24MHz

uint32_t SystemCoreClock         = SYSCLK_FREQ_24MHz;        /*!< System Clock Frequency (Core Clock) */

#elif defined SYSCLK_FREQ_36MHz

uint32_t SystemCoreClock         = SYSCLK_FREQ_36MHz;        /*!#elif defined SYSCLK_FREQ_48MHz

uint32_t SystemCoreClock         = SYSCLK_FREQ_48MHz;        /*!#elif defined SYSCLK_FREQ_56MHz

uint32_t SystemCoreClock         = SYSCLK_FREQ_56MHz;        /*!#elif defined SYSCLK_FREQ_72MHz

uint32_t SystemCoreClock         = SYSCLK_FREQ_72MHz;        /*!#else /*!< HSI Selected as System Clock source */

uint32_t SystemCoreClock         = HSI_VALUE;        /*!< System Clock Frequency (Core Clock) */

#endif

///

/* Configure the SysTick */

SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);//8000000/1000=>1ms

/**

*This is the timer interrupt service routine.

*

*/

void SysTick_Handler(void)

{

/* enter interrupt */

rt_interrupt_enter();

rt_tick_increase();

/* leave interrupt */

rt_interrupt_leave();

}

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

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

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

相关文章

Java包装类与基本数据类型的自动 手动装箱与自动 手动拆箱

Java包装类与基本数据类型的自动 手动装箱与自动 手动拆箱 **自动装箱与拆箱**&#xff0c;实现代码如下&#xff1a; /*** 装箱 &#xff1a; 基本数据类型-----> 包装类* 拆箱&#xff1a; 包装类-------> 基本数据类型* author **/ public class Test1 {public sta…

什么叫冷备用状态_新密5P加工中心冷油机生产厂家电话【瀚信德】

新密5P加工中心冷油机生产厂家电话【瀚信德】以上如有异常&#xff0c;请尽快通知分司派维修人员处理。油冷机的工作原理有什么油冷机也叫冷油机&#xff0c;根据制冷系统原理&#xff0c;低温低压的液态冷媒在蒸发器里面与周围水进行热交换蒸发器吸收油的热量&#xff0c;蒸发…

java 双等号(==) 与equals方法的介绍和区别

java 双等号&#xff08;&#xff09; 与equals方法的介绍和区别 1.基本数据类型与equals方法 用于比较基本数据类型时&#xff0c;比较的是值用于比较引用数据类型时&#xff0c;比较的是地址equals方法在Object类中比较的也是地址&#xff0c;因为在低层也是使用进行比较St…

verilog时钟翻转怎么写_verilog实时可调时钟代码

module clock(clk,out,reset,cin,ocom,count,countmin,tgm,tdm,tgs,tds);output[3:0] ocom;output[7:0] out;output count,countmin;input cin,clk,reset;input tgm;//高位的分input tdm;//地位的分input tgs;//高位的秒input tds;//地位的秒reg [7:0] out_s;reg[7:0] out_min;…

Java ArrayList与LinkedList数据结构和特点

Java ArrayList与LinkedList数据结构和特点 1. ArrayList 数据结构&#xff1a; ArrayList低层是实现的是一个Object类型的数组&#xff08;空间连续&#xff0c;类型相同&#xff09;当我们调用ArrayList无参构造方法&#xff0c;将会创建一个Object类型的**空**数组当我们第…

多线程 循环 锁_大多数人还不清楚的iOS多线程

你不知道的的 iOS 多线程程序员用有限的生命去追求无限的知识。有言在先首先我不是故意要做标题党的&#xff0c;也不是我要炒冷饭&#xff0c;我只是想换个姿势看多线程&#xff0c;本文大部分内容在分析如何造死锁&#xff0c;奈何功力尚浅&#xff0c;然而再浅&#xff0c;也…

Java HashMap与Hashtable数据结构和特点+HashSet简述

Java HashMap与Hashtable数据结构和特点HashSet简述 1.HashMap HashMap就是基于数组和链表的数据结构&#xff1a;JDK1.7使用 数组单向链表&#xff1b;JDK1.8使用 数组单向链表红黑树 HashMap有两个重要的参数&#xff1a; 一个是负载因子 0.75&#xff1a;表示数组使用率达…

aj6 stamps storm_亲友限定的 AJ 6 要发了?3 月好鞋发售清单 for girls

原标题&#xff1a;亲友限定的 AJ 6 要发了&#xff1f;3 月好鞋发售清单 for girls&#x1f338;&#x1f338;&#x1f338;Air Jordan 1 Low Slip “Chicago”Color&#xff1a;Varsity Red/Black/WhiteStyle Code&#xff1a;BQ8462-601Price&#xff1a;$110adidas WMNS U…

学校为什么要单位接收函_学校、小区运动场为什么要选择塑胶跑道

随着人们生活水平的不断提高&#xff0c;科技的日新月异&#xff0c;各行各业都向着更加健康环保安全舒适的方向迈进。就拿小区、学校的运动场所地坪为例&#xff0c;传统的“沙土跑道”已经被运动塑胶跑道所替代。那么运动场为什么会选择塑胶跑道呢&#xff1f; 塑胶跑道又称全…

java中常见的专业术语单词缩写,看你认识几个

java中常见的专业术语单词缩写&#xff0c;看你认识几个 单词全称单词缩写中文意思备注Garbage CollectionGC垃圾回收Object Oriented ProgrammingOOP面向对象程序设计Document Object ModelDOM文档对象模型Browser Object ModelBOM游览器对象模型uniform resource locatorurl…

pitstop插件使用说明_【学员分享】程序员效率神器,最常用VIM插件安装大全

相信大家多次被推荐用vim作为编辑程序&#xff0c;知道vim编辑有很多优点&#xff0c;但是vim初始界面太原始了&#xff0c;安装了之后只能用来编辑&#xff0c;如果要运行就需要退出去运行&#xff0c;麻烦死了。回想用现成的IDE是多么的舒服。但是为了更好的学习&#xff0c;…

JVM思维导图、正则表达式符号图、企业内部开发流程图

JVM思维导图、正则表达式符号图、企业内部开发流程图 1.JVM思维导图&#xff1a; 2.正则表达式符号图&#xff1a; 3.企业内部开发流程图&#xff1a;

萧县机器人_全国总决赛第一名!萧县杨楼的这位学生厉害了

&#xfeff; 提示&#xff1a;点击上方"萧县关注"↑免费订阅本刊点击上方关注我们&#xff0c;免费订阅更多精彩内容&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;&…

关于JSP页面无法加载css,游览器访问jsp页面样式未生效导致乱序

关于JSP页面无法加载css&#xff0c;游览器访问jsp页面样式未生效导致乱序 1.修改自己过滤器中对编码格式的修改 如图&#xff1a; 代码如下&#xff1a; public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOE…

将视图转为image_JavaScript二进制数组(2)TypedArray视图

ArrayBuffer对象作为内存区域可以存放多种类型的数据。同一段内存&#xff0c;不同数据有不同的解读方式&#xff0c;这种解读方式称为“视图&#xff08;view&#xff09;”。ArrayBuffer有两种类型的视图&#xff0c;一种是类型化数组视图&#xff08;TypedArray&#xff09;…

八大基本数据类型、数组和包装类默认值

八大基本数据类型、数组和包装类默认值 1.八大基本数据类型 Java八种基本数据类型总结序号数据类型大小/字节封装类默认值可表示数据范围1byte1Byte0-128~1272short2Short0-32768~327673int4Integer0-2147483648~21474836474long8Long0-9223372036854775808~9223372036854775…

解决IDEA中maven工程的jsp、jstl依赖导入了 ,但是 jsp页面的uri却不提示(手动输上也报红)

解决IDEA中maven工程的jsp、jstl依赖导入了 &#xff0c;但是 jsp页面的uri却不提示&#xff08;手动输上也报红&#xff09; 出现原因&#xff1a;idea内有缓存 解决办法&#xff1a;File --> Invalidate Caches / Restart… --> lnvalidate and Restart idea版本&#…

空格 过滤多个_CAD选择过滤器的运算符如何使用?

选择过滤器FILTER在CAD早期版本中是扩展工具的一个功能&#xff0c;到了高版本变成标配的功能&#xff0c;但在浩辰CAD的菜单或工具面板中我还找到选择过滤器的命令。浩辰CAD面板、右键菜单和特性面板倒是都提供了快速选择的功能&#xff0c;快速选择功能应该是借鉴选择过滤器开…

Java中各种常见的生命周期

Java中各种常见的生命周期 1.Spring bean的生命周期&#xff1f; ​ 1、Spring 容器根据配置中的 bean 定义中实例化 bean。 ​ 2、Spring 使用依赖注入填充所有属性&#xff0c;如 bean 中所定义的配置。 ​ 3、如果 bean 实现 BeanNameAware 接口&#xff0c;则工厂通过传…

各层作用_终于弄明白了 Singleton,Transient,Scoped 的作用域是如何实现的

一&#xff1a;背景1. 讲故事前几天有位朋友让我有时间分析一下 aspnetcore 中为什么向 ServiceCollection 中注入的 Class 可以做到 Singleton&#xff0c;Transient&#xff0c;Scoped&#xff0c;挺有意思&#xff0c;这篇就来聊一聊这一话题&#xff0c;自从 core 中有了 S…