首页 > 代码库 > Arduino的定时中断
Arduino的定时中断
之前写了一篇关于Arduino定时的帖子,Arduino函数库里面有外部中断的函数,但是关于内部中断的函数没有提及,本文拟采用Arduino 的定时中断写一个Blink的程序。
代码如下。
1 /******************************************************************************* 2 *** 3 *PROJECT CODE: 定时中断 * 4 *CREATE DATE : 2014/11/27 * 5 *CREATED BY :HGXH * 6 *FUNCTION :定时器产生中断,13号led闪烁,每隔1s * 7 *MODIFY DATE :2014/11/27 * 8 *DOCUMENT : * 9 *OTHERS :CPU = 16MHZ *10 *********************************************************************************11 **/12 13 14 void setup(){15 DDRB = (1<<5);//设置D13口为输出,PB5为D13引脚16 OCR1A = 15624;//设置Timer1初值,每隔1s变化一次,周期为0.5Hz17 TCCR1A = (0<<COM1A1) | (0<<COM1A0) | (0<<WGM11) | (0<<WGM10);//OC1A普通输出模式,CTC模式18 TCCR1B = (0<<WGM13) | (1<<WGM12) | (1<<CS12) | (0<<CS11) | (1<<CS10);//1024分频19 TIMSK1 = (1<<OCIE1A);//定时器1 A通道输出中断使能20 }21 void loop()22 {23 24 }25 26 ISR(TIMER1_COMPA_vect)//中断函数27 {28 PORTB ^= (1<<5);//13pin输出电平交替变换29 OCR1A = 15624;//定时器1装初值30 }
Arduino的定时中断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。