pumpitup 发表于 2013-6-2 21:38:58

arduino编程,能使用中断么?

       用别的系统,也有这个问题,那个是c,的。

    一直在想,有些功能如果能用中断的话,程序会简单得多。现在只能把一些要检测的做成子程序,每次都要主动调用。

    arduino能用中断功能么

    比如,a按钮提高音量,b按钮降低音量,接4个led显示音量大小,c按钮按下去时静音,但在c按钮按下去的时候,ab按钮都是有效的。用中断怎么写,不用中断又怎么写。

zjyylj 发表于 2013-6-3 01:30:28

按键触发的话,可以使用外部中断

Fortware 发表于 2013-6-3 15:55:13

有定时器中断和外部中断,看 avr芯片的 datasheet就知道了

pumpitup 发表于 2013-6-3 17:08:32

突然想起以前学的计算机原理的内容了……中断分硬中断和软中断,硬中断是要硬件支持的,软的好像是int13吧,是可以自己弄弄的

想到这个也是因为之前弄的一个能跟人走的机器人,当时思路是前180度装若干个距离传感,一直保持正前方的距离内是有物体的,如果正前方没有了,那么左右如果有物体就分别左右转,正前方的物体远了就前进,近了就后退,保持在一定距离。这是最低级别的。中级别的是360度能感觉有没有物体,如果有就作相应的动作,这种情况下是不进行第一种操作的。   最高级别的是一圈光感,如果有红外光特别强的,就向这个方向走,好像足球机器人的追球的动作。    如果没有中断的话,就是要一层一层地判断,写出来很难懂,也难改。

不知道能不能用软中断来实现。

mep 发表于 2013-6-3 19:47:49

pumpitup 发表于 2013-6-3 17:08 static/image/common/back.gif
突然想起以前学的计算机原理的内容了……中断分硬中断和软中断,硬中断是要硬件支持的,软的好像是int13吧, ...

软中断是应用软件调用操作系统功能的一种方式,你需要的是硬件中断,Arduino是支持的,看手册里的attachInterrupt

i7456 发表于 2013-12-20 18:58:02

不要用delay()延时,
不用中断也可以用得很好。
页: [1]
查看完整版本: arduino编程,能使用中断么?