|
|
今天琢磨arduino中断的时候,发现了一个很奇葩的现象,那就是:arduino进入中断后,delay函数的运行时间被缩短了!中断函数里面的delay(5000)运行时间居然比250毫秒还要短!这究竟是怎么回事?求大神解答,我都搞了一晚上了
下面上代码
- void setup() {
- pinMode(13,1);
- pinMode(7,1);
- attachInterrupt(0,interrupt,FALLING);
- }
- //下面这个中断函数运行用了4秒不到的时间
- void interrupt(void)
- {
- for(int i=0;i<10;i++)
- {
- digitalWrite(7,1);
- delay(5000);//时间好像被压缩了?
- digitalWrite(7,0);
- delay(5000);//时间好像被压缩了?
- }
- }
- boolean state=true;
- void loop() {
- digitalWrite(13,state);
- state=!state;
- delay(250);//一切正常
- }
复制代码 |
|