极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9403|回复: 3

大家看这个程序可以实现吗?

[复制链接]
发表于 2016-4-9 17:42:35 | 显示全部楼层 |阅读模式
//主程序
void setup(){      
  Serial.begin(115200);           
  interruptSetup1();       //定时器中断1           
}

void loop(){
    interruptSetup2();     //在 loop( ) 中可以再嵌套另一个定时器中断吗????
   Serial.println(.....);
                        
}
/////////////////////////////////////////////////////////////////

void interruptSetup1(){      
  TCCR2A = 0x02;  
  TCCR2B = 0x06;    //频分256
  OCR2A = 0X7C;      //124
  TIMSK2 = 0x02;   
  sei();            
}

ISR(TIMER2_COMPA_vect){                        
  cli();                                            
  ................
  sei();
}
/////////////////////////////////////////////////////////////////
void interruptSetup2(){      
  TCCR2A = 0x02;  
  TCCR2B = (1<<CS22);   
  OCR2A = 0x31;      
  TIMSK2 = 0x02;   
  sei();            
}

ISR(TIMER2_COMPA_vect){                        
  cli();                                    
    ...............   
   
  sei();
}
回复

使用道具 举报

发表于 2016-4-10 09:01:54 | 显示全部楼层
首先不知道你要干什么就无法判断这个代码能不能实现
其次,这个代码编译不通过,原因是第八行Serial.println(.....)处原样输出应为Serial.println(".....")
还有,代码中出现了两处.............这都是无法编译的,请问你是没有复制所有的代码吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-10 09:44:43 | 显示全部楼层
zjz5717 发表于 2016-4-10 09:01
首先不知道你要干什么就无法判断这个代码能不能实现
其次,这个代码编译不通过,原因是第八行Serial.print ...

谢谢你。我输出这块我知道,我主要是想问下,最开始有个定时器中断interruptSetup1(),在loop( )中又加一个定时器中断2,这种语法能不能实现,这两个timer2定时器会不会彼此干扰。
回复 支持 反对

使用道具 举报

发表于 2016-4-10 13:37:45 | 显示全部楼层
qushengnian 发表于 2016-4-10 09:44
谢谢你。我输出这块我知道,我主要是想问下,最开始有个定时器中断interruptSetup1(),在loop( )中又加一 ...


UNO主板的话同时装载了三个内部中断计时器,也就是说最多可以三个同时使用,你这个文件中只是用了其中的两个,理论来讲没有问题,只要你写的代码没错的话都是可以运行的
但是这三个计时器0、1、2控制了一些引脚,需要你注意
T/C0: Pin6(OC0A)和Pin5(OC0B)
T/C1: Pin9(OC1A)和Pin10(OC1B)
T/C3: Pin11(OC2A)和Pin3(OC2B)
而且0号计时器是默认和delay,mills这一类的函数绑定在一起的,这是写在avr那个库里的,如果你有本事修改老外写的那个库的话可以试试

具体信息参考Arduino中文社区
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 18:28 , Processed in 0.037473 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表