b9ss 发表于 2014-7-1 11:34:32

Winston 发表于 2014-7-1 11:21 static/image/common/back.gif
我说我一边中断一边串口输出结果,运行着运行着就没有任何反应了,是不是中断自己中断了处理程序,返回不 ...

理论上是
据我所知x86的每个硬件中断只保存一套寄存器状态,设计原理应该是一样的,不然内存都不够用。

Hsu 发表于 2014-8-10 11:58:58

b9ss 发表于 2014-6-29 21:08 static/image/common/back.gif
试了下 发现个问题 在中断处理程序里调用noInterrupts是无效的。
调用detachInterrupt却可以。



还是多用多试试才行啊

沧海一粟 发表于 2014-9-2 10:14:00

b9ss 发表于 2014-6-29 21:08 static/image/common/back.gif
试了下 发现个问题 在中断处理程序里调用noInterrupts是无效的。
调用detachInterrupt却可以。



层主很有探索精神嘛:)

wudan3551 发表于 2014-9-18 19:45:20

这是外部中断,要是有讲内部中断(如串口中断)的就好了。

亦真亦幻 发表于 2014-9-20 19:44:06

digitalWrite(ledOut, state);    //把读取的状态赋予LED指示灯

//模拟一个长的流程或者复杂的任务
for (int i = 0; i < 100; i++)
{
    //延时10毫秒
    delay(10);
为什么要这样写?有什么用?

值班室 发表于 2014-10-7 09:56:13

亦真亦幻 发表于 2014-9-20 19:44 static/image/common/back.gif
digitalWrite(ledOut, state);    //把读取的状态赋予LED指示灯

//模拟一个长的流程或者复杂的任务 ...

这只是模拟一个任务,当在执行这个任务的过程中,刚好外部中断触发了,这时单片机就把任务停下来,保存任务的断点,转而去执行中断的服务程序,执行完中断服务程序后,再从任务的断点接着执行。

Black7 发表于 2014-10-11 22:12:13

你那LED不是链接在模拟端口吗,怎么回用digitalWrite()命令呢?

zgkjzf 发表于 2014-10-11 22:20:26

我还是没搞明白

m.mm 发表于 2015-1-29 17:32:33

这里“0(数字引脚2)和1(数字引脚3)”中的0和1是从哪里来的?

这个问题困扰好久了,烦请大神指教,感谢 !

flying03 发表于 2015-2-12 14:06:50

m.mm 发表于 2015-1-29 17:32 static/image/common/back.gif
这里“0(数字引脚2)和1(数字引脚3)”中的0和1是从哪里来的?

这个问题困扰好久了,烦请大神指教,感 ...

0和1是指uno板的两个外部中断编号,分别对应到实物板子的IO2,IO3。这个是硬件设计的规定。

m.mm 发表于 2015-2-15 13:05:46

flying03 发表于 2015-2-12 14:06 static/image/common/back.gif
0和1是指uno板的两个外部中断编号,分别对应到实物板子的IO2,IO3。这个是硬件设计的规定。

这个编号应该是arduino 端口编号和IDE端口编号吧。:lol
arduino程序允许使用arduino板上的端口编号和IDE的端口编号。

yangh2961 发表于 2015-4-12 11:25:32

原来是这样

唐唐llll 发表于 2015-6-9 19:00:27

把中断附在了舵机控制的程序里,但是每次按中断触发按钮中断返回的时候程序都是从新开始执行的啊,没有从终端点开始,这是怎么回事?

AliyaKing 发表于 2015-7-16 08:57:43

赞一个,主函数和loop函数是啥关系,还有点模糊!

小白龙 发表于 2015-7-18 17:01:11

void setup()
{   pinMode(7,OUTPUT);
    attachInterrupt(0, left, LOW);
}
void loop()
{   
   digitalWrite(7,HIGH);
   
}                  
void left()
{
   digitalWrite(7,LOW);


}
以上程序是我理解中断用的   有一个问题 不懂求大神指教
我将中断0 设置为高电平   然后将中断0变成低电平可是要等好几秒之后才执行中断(7号口灭) 再改成高电平的时候 能立即点亮      为什么中断响应的那么慢   中断返回很快。。。。
页: 1 2 3 [4] 5 6
查看完整版本: Arduino入门教程--第十九课--Arduino中断的使用