定时开关机的模块开发要懂哪些知识

React Native模块之Timers(定时器)详解 - 推酷
React Native模块之Timers(定时器)详解
阅读本文大约需要3分钟
今天主要讲解Timers(定时器)模块,该部分在我们开发中是非常常用的。例如可以实现:秒杀中的倒计时,任务延迟执行等等。
本文所讲知识点
定时器基本内容以及对比
InteractionManager(交互管理器)
TimerMinxin
定时器相关实例
Timers(定时器)是应用中非常重要的部分,在React Native中实现和浏览器一致的Timers。该模块所涉及到相关方法如下:
setTimeout,clearTmeout
setInterval,clearInterval
setImmediate,clearImmediate
requestAnimationFrame,cancelAnimationFrame
requestAnimationFrame(fn)和setTimeout(fn,0)方法不一样,前者会在每帧刷新额时候调用一次,而后面的方法会尽可能速度非常快的执行调用(例如在iPhone 5S上面每秒钟会超过1000次的刷新调用)。
setImmediate方法会在JavaScript代码将要执行完毕的时候,在发送批量数据给原生代码之前执行。但是如果在setImmediate回调方法中调用setImmediate方法,那么会立刻进行执行,而不会去返回数据给原生代码。
Promise对象就是使用setImmediate来实现异步调用。
上面我们看了定时器这部分相关的内容,这里我们对于setTimeout和setInterval这两部分内容对一下对比。setTimeout模块调用方式:setTimeout(fn,delay)该表示在运行过程中延迟指定的时间后进行调用方法,该调用的方法只会执行一次。但是setInterval模块调用方式:setInterval(fn,time)该表示在运行过程中每隔指定的时间进行调用方法,该调用方法会执行很多次。这两个效果我们可以相互进行模拟。下面的实例我们会演示相应的效果。
InteractionManager
对于交互管理器,我们在前面的文章已经基本介绍过了。使用InteractionManager可以让一些耗时的任务在交互操作或者动画完成之后进行执行,这样使用可以保证我们的JavaScript的动画效果可以平滑流畅的执行。可以大大提升用户体验。
在应用开发中我们可以如下进行执行任务
该模块和其他相关的调度方法对比:
requestAnimationFrame():执行控制动画效果的代码
setImmediate/setTimeout():设置延迟执行任务的时间,该可能会影响到正在执行的动画
runAfterInteractions():延迟执行任务,该不会影响到正在执行的动画效果
触摸系统中的单点或者多点触控都是交互动作,耗时任务会在这些触摸交互动作执行完成之后或者取消以后回调runAfterInteractions()方法进行执行。
InteractionManager也允许应用在动画开始的时候通过createInteractionHandle()方法注册动画,在结束的时候清除动画。
runAfterInteractions任务也可以接收一个普通的回调函数或者一个带有gen方法并且返回一个Promise的PromiseTask对象。如果参数是PromiseTask对象,那么任务是异步执行的,也会阻塞。该会等着当前任务执行完毕以后才能执行下一个任务。
默认情况下,队列任务会一次性在setImmediate方法中批量执行。如果你通过setDealine方法设置一个时间值,那么任务会在延迟该设定值时间进行执行。这时候会调用setTimeout方法进行挂起任务并且阻塞其他任务的执行。这样可以给触摸交互等操作留出时间更好的相应用户操作。
TimerMinxin
在开发过程中也发现很多导致React Native应用频繁崩溃的原因是因为组件被卸载了,但是定时器还处于被激活状态。为了解决这个问题,官方就引入了TimerMixin模块。如果你的应用中需要使用TimerMixin模块,那么代码中例如:setTimeout(fn,500)方法就需要替换成this.setTimeout(fn,500)(只需要添加this.即可)。这样写过后,当然你的组件在被卸载的时候,所有有关定时器相关的事件就会自动清除。
该库没有和React Native一起发布,所以如果你的项目中需要使用这个库,那么你需要命令行切换到项目根路径中执行npm I react-native-timer-mixin --save命令下载安装即可。官方写的使用该库的实例如下:
使用这个模块方式,我们可以解决掉许多由于应用组件被卸载,定时器产生相关崩溃的bug。
[注意].以上的代码只适合于ES5使用,如果你现在采用ES6进行开发的,那你是无法直接使用TimerMixin的,如果需要在ES6语法中实现,大家可以看一下下面的实例。
下面我们通过一个ES6标准的实例进行演示一下定时器的使用方式,具体代码如下:
4.1.setTimeout和clearTimeout基本用法
5.2.setInterval和clearInterval基本用法
最后说两句
上面的实例主要演示了核心代码,更多详情请大家点击底部阅读原文查看。
本公众号欢迎大家投稿,如果你希望你的文章可以被更多人看到,直接将md、doc等格式的文章到我邮箱即可(
),也可以加我QQ/微信(
)好友,需要注明(投稿),谢谢。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致你好,请问采用DSP28335进行pwm跟踪输出的思路是什么,定时器、中断、那七个模块都需要怎么设置,还有编程_百度知道灌装机|称重传感器|气力输送系统|称重仪表|称重系统|配料秤价格珠海市长陆工业自动控制系统有限公司-灌装机生产批发销售,称重仪表销售 - 珠海市长陆工业自动控制系统有限公司
工业自动化产品
工厂自动化(FA)产品
总代理产品从传感器技术发展本身来说,要在接下来十年里保证无人驾驶车安全地上路,硬...
智能汽车会刊
如今,物联网浪潮已然席卷至汽车电子产业,发动机控制系统、底盘...
阅读本文你可以迅速了解苹果哪些产品已被机器学习入侵,为何它能秘密研发新...
智能后视镜产品方案对接会
中国LED智能照明高峰论坛
第三届·无线通信技术研讨会
第二届·中国IoT大会
ETFo智能安防技术论坛
成都&智能工业创新应用论坛
移入鼠标可放大二维码
定时模块 - 基于555的简易防盗报警器的设计方案
来源:互联网
作者:秩名日 10:19
[导读] 在数字电路中,定时实际上是产生一脉冲信号,其信号的高电平或低电平维持的时间可由计算电路参数而确定。555做单稳态触发器时就有定时的作用,因此定时模块可由555芯片完成。
  3.2 定时模块
  在数字电路中,定时实际上是产生一脉冲信号,其信号的高电平或低电平维持的时间可由计算电路参数而确定。555做单稳态触发器时就有定时的作用,因此定时模块可由555芯片完成。考虑到检测电路中已使用了555做单稳态触发器,因此可将两模块合二为一,既用作检测电路又用作定时。其电路如图4,定时的长短由电路参数R和C确定:
  图4 定时模块电路图
  3.3 频率控制模块
  课程设计的基本要求中,产生一频率为1.2KHz的报警声音。要实现这一要求很简单,只要多加一片555芯片,用它做多谐振荡器产生频率1.2KHz. 3.3.1 555定时器做多谐振荡器 若将555的引脚2与6相接,如图3-4所示,就可形成多谐振荡器。外接电容C通过R1、R2充电,而放电电流仅通过R2. 可求出:
  充电时间:
  放电时间:
  周期:
  占空比:
  由公式计算参数:
  由于频率为1.2KHz,电容C选取0.1uf,计算出电阻R1、R2的阻值约为1K、10K,选取1K、10K的电阻做R1、R2.
  图5 多谐振荡器及波形图
  3.4 语音报警
  语音报警是用蜂鸣器将电信号转化成声音信号,从而报警。只需要将蜂鸣器直接接入电路,当有高平信号时蜂鸣器就发生鸣叫。将它接在555德管脚上,另一接头接地就可。
  4 系统仿真测试
  本电路由四部分组成:检测电路、定时、分频、报警。检测电路是用555设计成的,其2管脚连接一个触摸片,当用手触摸时产生一低电平,555的三管脚就产生一个时长为16.5s的高平信号,从而使第二片555的四管脚的电平为高。第二片555是一个多谐振荡电路,当四脚为高时,电路振荡开始,产生一频率约为1.2KHz的脉冲信号。蜂鸣器将电信号变为声音信号报警。图6为系统仿真测试图。
  图6 电路仿真图
  电路按设计电路接好,接通电源,触摸触摸片,蜂鸣器不响。用万用表测量蜂鸣器两端电压,电压为零。再测量第一片555三管脚的输出电压,在4.29V左右变化,第一片555工作正常。测量第二片555三管脚的输出电压,在4V左右变化,确定第二片555工作也正常。
  通过仔细检查发现有一块555芯片插反了,改过后重新将电路接上电源,蜂鸣器响了,但是一直叫个不停,因为实验要求警报器警报十秒左右就能停下。通过与同组人讨论发现接上按钮开关后就能达到要求,因为这种开关按下接通后就断开,用来显示外界触发脉冲。电路设计成功了。
  5 结论
  本文的基于555的简易防盗报警器的设计方案,通过555将人体信号转化为电信号,再由蜂鸣器将电信号转化为声音信号从而达到报警的要求,用一滑动变阻器来控制蜂鸣器报警时间。经验证,本方案所设计的简易防盗报警器能达到报警要求,当有人非法闯入时可以产生警告并使室主做好防卫工作,电路简单,实用性强。
555定时器相关文章
555定时器相关下载
防盗报警器相关文章
防盗报警器相关下载
技术交流、积极发言! 发表评请遵守相关规定。
王永飞表示,目前的智能家居产品还处于冲动型消费的单品阶段,单品的数量和质量并不占优,要构成形成一个完整的智能家居闭环系统,需要将单品转化...
中兴物联副总经理孙公航表示,在国家政策引领和市场需求推动下,预计2016年中国将新增连接5000万。这些连接主要集中在车联网、智能表计、移动支付和...
创新实用技术专题
Copyright &
.All Rights Reserved}

我要回帖

更多关于 定时开关 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信