定时器会阻塞线程吗 定时器指令有哪几种
定时器一般不会阻塞线程,但具体是否会阻塞取决于所使用的定时器实现方式和使用方式。
定时器指令可以分为硬件定时器指令和软件定时器指令。下面将详细介绍各种定时器指令:
一、硬件定时器指令:
1. 初始化定时器:用于配置和初始化定时器的各个参数和寄存器。可以设置定时器的时钟源、时钟分频比、计数模式等。
2. 设置计数值:用于设置定时器的计数值。当定时器开始计数时,当计数值达到设定值时,定时器会触发中断或产生其他指定的动作。
3. 启动定时器:用于启动定时器的计数。一旦启动,定时器会根据设定的参数开始计时。
4. 停止定时器:用于停止定时器的计数。一旦停止,定时器将会停止计时,不再触发中断或产生其他指定的动作。
5. 读取计数值:用于读取当前定时器的计数值。可以通过读取计数值来获取定时器的剩余时间。
二、软件定时器指令:
1. 创建定时器:用于创建一个软件定时器对象。在创建定时器时,需要指定定时器的回调函数和定时器的超时时间。
2. 启动定时器:用于启动软件定时器的计时。一旦启动,软件定时器会开始倒计时,当超过设定的超时时间时,会触发定时器的回调函数。
3. 暂停定时器:用于暂停软件定时器的计时。一旦暂停,定时器的倒计时会停止,不再触发回调函数。
4. 重置定时器:用于重置软件定时器的计时。重置定时器会将定时器的倒计时时间重新设置为初始设定的超时时间。
5. 删除定时器:用于删除已创建的软件定时器。删除定时器后,定时器的回调函数不会再触发。
定时器的应用场景非常广泛。例如,可以用来实现定时任务调度、定时数据采集、定时操作等。
虽然定时器一般不会阻塞线程,但在某些特殊情况下,使用不当可能会导致线程阻塞或处理的延时。因此,在使用定时器时,应该合理设置定时器的参数和超时时间,以避免对线程或系统的影响。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
TOF指令用于允许输入端断开后的单一间隔定时。当定时器的输入端IN为ON时,TOF的状态位为ON,其常开触点闭合,常闭触点断开,但是定时器的当前值仍为0。
发表于 04-01 11:40
•408次阅读
TONR指令用于积累许多时间间隔。当定时器的输入端IN为ON时,定时器开始计时,当定时器的当前值大于等于设定值时,定时器被置位,其常开触点闭
发表于 03-31 09:13
•150次阅读
定时器 IC 555 是最通用和最常用的 IC 之一,因为它的应用范围更广,如 PWM放大器、延迟定时器、开关电路、占空比选择器、时钟脉冲发生器等。这也可用于各种应用,如精确定时、顺序定时
发表于 02-25 15:16
•342次阅读
间歇定时器的作用是重复执行一个函数,且不会阻塞主线程。这种类型的定时器常用于间隔性地自动执行代码,例如网页中的倒计时。
发表于 12-14 15:16
•609次阅读
由于目前C++标准中没有现成的定时器,本设计使用C++11相关语法并进行封装。 本定时器包含一个TimerManager类用于创建定时器和进行定时任务管理,TimerManager会创
发表于 11-08 16:50
•278次阅读
定时器的定时启动信号特点 定时器是一种常用的计时器,可以在指定的时间后发出信号。它们在各种电器、仪器和控制系统中被广泛应用。 定时器的定时
发表于 10-24 11:49
•391次阅读
这就是简单的软件定时器,是的,这就是特别简洁版本的软件定时器。当然它是有缺点的,比如systick_ms每1ms加1,所以软件定时器的精度是ms为单位的,并且如果while(1)中有其他代码阻
发表于 10-13 16:14
•284次阅读
定时器中断程序怎么写 在嵌入式系统中,定时器被广泛应用于各种任务。它们在实时系统中可用于轮询,计时等任务。定时器可以被配置为周期性定时器,非周期性
发表于 09-01 10:17
•1165次阅读
SysTick定时器的功能比较单一,主要是供给系统使用的,系统默认设置为1ms触发一次中断。而用户想要使用自己的定时器,STM32提供的用户定时器不但数量多且功能更加强大。
发表于 07-27 16:25
•3853次阅读
定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。STM32中共有11个定时器。
发表于 07-23 09:45
•3697次阅读
STM32F4xx系列控制器有共有14个TIM定时器。其中2个高级控制定时器TIM1和TIM8、10 个通用定时器TIM2TIM5和TIM9TIM14、 2个基本定时器TIM6和TIM
发表于 07-22 17:05
•3334次阅读
常规定时器:基本定时器TIM6&TIM7)、通用定时器(TIM2~TIM5,TIM9~TIM14)、高级定时器(TIM1&TIM8)
发表于 07-21 14:54
•1857次阅读
软件定时器是用程序模拟出来的定时器,可以由一个硬件定时器模拟出成千上万个软件定时器,这样程序在需要使用较多定时器的时候就不会受限于硬件资源的
发表于 07-03 17:06
•641次阅读
软件定时器是用程序模拟出来的定时器,可以由一个硬件定时器模拟出成千上万个软件定时器,这样程序在需要使用较多定时器的时候就不会受限于硬件资源的
发表于 05-23 17:05
•1848次阅读
定时器指令存放在函数库:Tc2_Standard,在新项目创建时会自动加载。我在之前的文章中多次介绍过IEC定时器,比如【西门子SCL编程入门教程连载(7)-定时器
发表于 05-04 16:00
•2088次阅读
评论