Arduino定时器中断(Timer-Interrupts)资料.doc

Arduino定时器中断(Timer-Interrupts)资料.doc

ID:55630893

大小:13.50 KB

页数:2页

时间:2020-05-21

Arduino定时器中断(Timer-Interrupts)资料.doc_第1页
Arduino定时器中断(Timer-Interrupts)资料.doc_第2页
资源描述:

《Arduino定时器中断(Timer-Interrupts)资料.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Arduino的定时器中断当你想让代码在一个固定的时间间隔后执行时,你可以很容易的用delay()函数来实现。但是,这只是让程序暂停一个特定的时间段。特别是如果你需要同时让处理器做其他处理时,这么做同时也是一种浪费。这时候就是定时器(Timer)和中断(Interrupt)的用武之地了。ArduinoUNO有三个timertimer0-一个被Arduino的delay(),millis()和micros()使用的8位定时器timer1-一个被Arduino的Servo()库使用的16位定时器timer2-一个被Arduino的Tone()库使用的8位定

2、时器"ArduinoMega"板有另外三个可使用的timer3,4,5,而不是只有timer0,1,2在以下的例子中,我们将在我们的中断使用timer1。显然,如果你用了Servo()库就会有冲突,所以你应该选择其他timer。下面是一个基本的中断驱动程序。这是基本的LED闪光灯程序。但是现在我们用中断而不是delay()来每半秒开启和关闭LED灯一次,从而实现让LED每秒闪一次的效果。/*timer1中断实例LED闪光灯每秒闪亮一下*/#defineledPin13//设置输出口为13口inttimer1_counter;voidsetup(){pi

3、nMode(ledPin,OUTPUT);//初始化定时器1noInterrupts();//禁止所有中断TCCR1A=0;TCCR1B=0;//为我们的中断设置timer1_counter为正确的时间间隔//timer1_counter=64911;//预加载timer1为65536-16MHz/256/100Hz//timer1_counter=64286;//预加载timer1为65536-16MHz/256/50HZtimer1_counter=34286;//预加载timer1为65536-16MHz/256/2HzTCNT1=timer1_

4、counter;//预加载timerTCCR1B

5、=(1<

6、=(1<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。