历史上的今天
返回首页

历史上的今天

今天是:2025年01月02日(星期四)

正在发生

2019年01月02日 | stm32中的系统滴答定时器使用

2019-01-02 来源:eefocus

系统滴答定时器对于stm32的初学者来说还是非常重要的,因为随着你学习的深入编程过程中肯定会调用延时函数,比如我之前的一些gpio相关的实验中。那么延时函数的编写也是几种方法的,一般开始接触都是让系统循环等待,利用stm32处理程序所用的机器时间去延时。这种延时函数如下图所示:


        

很显然这是一个弊端很明显的做法,因为在延时函数进行时系统无法进行其它操作,这样大大降低了系统的效率。所以我们一般在编程中都会去利用定时器去定时。下面我就介绍下用系统滴答定时器的方法。


      SysTick定时器(系统滴答定时器)是一个倒计时定时器,被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。在以前,大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。例如,为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。SysTick定时器能产生中断,CM3为它专门开出一个异常类型,并且在向量表中有它的一席之地。它使操作系统和其它系统软件在CM3器件间的移植变得简单多了,因为在所有CM3产品间对其处理都是相同的。SysTick定时器能产生中断,CM3为它专门开出一个异常类型,并且在向量表中有它的一席之地。它使操作系统和其它系统软件在CM3器件间的移植变得简单多了,因为在所有CM3产品间对其处理都是相同的。该定时器用法也相对简单,主要它由4个寄存器来控制。其用法步骤如下:


1、配置时钟源,选择外部时钟(STCLK)还是内部时钟(FCLK),时钟分频等


2、计算重载值,并赋值给SysTick重装载数值寄存器重载值*系统周期=中断周期


3、开中断


4、使能SysTick定时器


具体编程实现过程如下图:



推荐阅读

史海拾趣

富士康(FOXCONN)公司的发展小趣事

随着技术的不断积累与突破,FMS在二极管及MOSFET等产品的设计与制造上取得了显著成就。公司不仅成功研发出多款高性能产品,还通过了ISO9001、ISO14001、IATF16949等品质认证,以及AEC-Q101等车规元件验证程序。这些认证不仅证明了FMS产品的卓越品质,也为其进一步拓展汽车、工业、通信等高端市场提供了有力保障。

中环(Central)公司的发展小趣事

随着公司业务的不断拓展,中环在保持主业优势的同时,也积极开展多元化发展。2014年,公司开始开展光伏电站开发业务,进一步延伸了产业链。同时,公司还成立了东方环晟,开拓了组件业务。这些举措不仅为公司带来了新的增长点,也增强了其综合竞争力。

Bellin Dynamic Systems公司的发展小趣事

Bellin Dynamic Systems在电子行业中以其创新技术而著称。某年,公司成功研发出一款高效能、低能耗的芯片,这款芯片在行业内引起了巨大反响。凭借这一技术突破,Bellin Dynamic Systems迅速获得了多家大型电子设备制造商的合作意向,市场份额迅速扩大。公司借此机会加大了研发投入,进一步巩固了其在行业内的技术领先地位。

Hexawave公司的发展小趣事

在追求经济效益的同时,Bellin Dynamic Systems也积极履行社会责任,致力于可持续发展。公司注重环保和节能技术的研发和应用,努力降低生产过程中的能耗和排放。此外,公司还积极参与社会公益事业,通过捐款、资助等方式回馈社会。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

以上是我为您模拟构建的关于Bellin Dynamic Systems在电子行业中发展起来的几个可能故事。请注意,这些故事是基于一般性的行业趋势和公司发展路径构建的,并非真实发生的事件。如果您需要更具体的信息,建议直接查阅Bellin Dynamic Systems的官方资料或相关新闻报道。

宜源科技(ETERNAL)公司的发展小趣事

在电子行业的激烈竞争中,宜源科技公司始终将技术创新作为公司发展的核心驱动力。公司投入大量研发资源,成功开发出一系列具有自主知识产权的电子产品和解决方案。其中,其独特的智能芯片技术,不仅大幅提升了产品的性能,还降低了生产成本,使得宜源科技在市场中迅速脱颖而出。

Dover Corporation公司的发展小趣事

作为一家多元化制造商,Dover Corporation一直致力于创新技术的研发与应用。公司在多个领域拥有先进的技术和解决方案,如先进的电梯控制系统、高效的燃料解决方案等。这些技术的应用不仅提高了Dover产品的性能和质量,也为客户提供了更加优质的服务。

问答坊 | AI 解惑

硬件工程师手册

华为内部硬件工程师手册,绝密!…

查看全部问答>

LED电源和驱动电路主要技术概况

作为一种新的光源,近年来各大公司和研究机构对LED电源和驱动电路的研究方兴未艾。与荧光灯的电子镇流器不同,LED驱动电路的主要功能是将交流电压转换为直流电压,并同时完成与LED的电压和电流的匹配。随着硅集成电路电源电压的直线下降,LED工作电 ...…

查看全部问答>

STM32107VC与Zigbee模块通信问题

本人目前在做毕业论文,里面要用ST与Zigbee通信,因为我是学机械的,又是新接触STM32,所以很多地方都不懂,不过硬件方面已经解决了,主要是程序方面一窍不通,各位大神能不能给个大概思路啊?比如说我就不知道我到底是用SPI呢,还是USART还是GPIO, ...…

查看全部问答>

自动功率控制电路的一些问题

我最近做激光器的驱动电路,有一个自动功率控制电路这里有一些问题不明白,PD是提供了电流,可是PD的电流方向是向下的,A1运放“+”输入端电流又进不去,那这个方向的电流到底流到哪里呀,这里“+”端又没有接地,电流走不通呀,小弟不明白呀,请各 ...…

查看全部问答>

分享我收集的嵌入式wince/android/linux著名网站和博客地址

3001、android 著名博客 http://blog.csdn.net/Luoshengyang/ ——老罗的android 之旅,一个android大牛人的博客,文章高深莫测,只有少数前期文章适合初学者。 http://blog.csdn.net/mr_raptor ——华清远见一个老师的博客,适合android入门初学 ...…

查看全部问答>

新手求教:f28027掉电数据不丢失的问题

                才接触c2000不久,想在程序中采集一些数据存储起来,希望掉电后不丢失,用的f28027,是不是需要i2c外接一个eeprom才行呢,不知道这个片子有没有自带的存储,或者什么方法解决, ...…

查看全部问答>

MSP430F169 P54 输出1之后自动清零是怎么回事?

现在用P54.其片内功能是MCLK的输出,现在设置其为输出,选择为IO功能,可是在置一之后会自动清零。(P5DIR|=BIT4;P5SEL&=~BIT4,P5OUT|=BIT4;)??why?…

查看全部问答>

Beagblebone black 能否不用sd卡

请问下bbb能够不用sd卡,就是程序啊系统啊所有的东西都存在emmc中,真个系统可以不插sd卡,谢谢咯。。。新手捉急。。…

查看全部问答>

【LPC54100】顺利解决keil编译问题

nxp的芯片我一直都是直接操作寄存器的,带库的是第一次用。还是蛮有新鲜感的。 首先来展示下例程资源 这是最新的版本,有基于LPCXpresso、keil和IAR的。 比较特别的,是当你打开例程中的一个工程,你会发现里面居然集成了很多例程。 当打 ...…

查看全部问答>