打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Arduino 中使用定时中断

Arduino 中使用定时中断

分类: 嵌入式 2312人阅读 评论(0) 收藏 举报

Arduino的库中本身没有提供操作定时中断的功能,但是我们以可以avr开发库本身的特性来使用Arduino没有提供的功能.

代码如下, 设置一个1ms的中断, 每隔1s输出一个$符号:

  1. #include <avr/io.h>  
  2. #include <avr/interrupt.h>  
  3.   
  4. /* 
  5.  * 将定时器中断设为1ms 
  6.  */  
  7. void init_time()  
  8. {  
  9.     TCCR2A |= (1 <<WGM21) | (1 << WGM20);  
  10.     TCCR2B |= (1 << CS22 );  //by clk/64  
  11.     TCCR2B &= ~((1 <<CS21) | (1 <<CS20));  //by clk/64  
  12.     TCCR2B &= ~((1 << WGM21 ) | (1 << WGM20));  
  13.     ASSR |= ( 1 << AS2 );  
  14.     TIMSK2 |= ( 1 << TOIE2 ) | ( 0 << OCIE2B );  
  15.     TCNT2 = 6;  
  16.     sei();  
  17. }  
  18.   
  19.   
  20. int count = 0;  
  21. SIGNAL(SIG_OVERFLOW2)  
  22. {  
  23.     TCNT2 = 6;  
  24.       
  25.     ++count;  
  26.     if( count == 1000 )  
  27.     {  
  28.         Serial.print("$ ");  
  29.         count=0;  
  30.     }  
  31. }  
  32.   
  33. /* 
  34. */  
  35. void setup(void)  
  36. {  
  37.     Serial.begin(115200);  
  38.     init_time();  
  39. }  
  40.   
  41. void loop( void )  
  42. {  
  43.     Serial.println("start ... ...");  
  44.   
  45.     while( 1 )  
  46.     {  
  47.         delay( 100 );  
  48.     }  
  49. }  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
AVR 定时器快速PWM模式使用
avr单片机的定时器、中断和PWM(转)
Arduino Uno输出自定义频率的PWM(详解)
AVR单片机T/C1的几种工作模式
基于arduino的心率检测仪
arduino学习笔记18
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服