<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
		<id>http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=AttachInterrupt%28%29</id>
		<title>AttachInterrupt() - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=AttachInterrupt%28%29"/>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=AttachInterrupt()&amp;action=history"/>
		<updated>2026-05-02T11:49:21Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https//wiki.microduino.cn/index.php?title=AttachInterrupt()&amp;diff=15819&amp;oldid=prev</id>
		<title>Pppeng：创建页面，内容为“&lt;pre style=&quot;color:green&quot;&gt; void attachInterrupt (uint8_t interruptNum, void(*)(void)userFunc, int mode) &lt;/pre&gt;  *'''设置中断''' &lt;br&gt;  指定中断函数. 外部...”</title>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=AttachInterrupt()&amp;diff=15819&amp;oldid=prev"/>
				<updated>2016-05-25T02:05:32Z</updated>
		
		<summary type="html">&lt;p&gt;创建页面，内容为“&amp;lt;pre style=&amp;quot;color:green&amp;quot;&amp;gt; void attachInterrupt (uint8_t interruptNum, void(*)(void)userFunc, int mode) &amp;lt;/pre&amp;gt;  *&amp;#039;&amp;#039;&amp;#039;设置中断&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;  指定中断函数. 外部...”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
void attachInterrupt (uint8_t interruptNum, void(*)(void)userFunc, int mode)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''设置中断''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
指定中断函数. 外部中断有0和1两种, 一般对应2号和3号数字引脚.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''引脚说明'''(interruptNum):&amp;lt;br&amp;gt;&lt;br /&gt;
Uno/Nano/Mega上&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
中断0脚就是D2&lt;br /&gt;
&lt;br /&gt;
中断1脚就是D3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''参数''':&amp;lt;br&amp;gt;&lt;br /&gt;
interrupt  中断类型, 0或1  &lt;br /&gt;
&lt;br /&gt;
fun  对应函数  &lt;br /&gt;
&lt;br /&gt;
mode  触发方式. 有以下几种:&lt;br /&gt;
&lt;br /&gt;
--LOW 低电平触发中断 &lt;br /&gt;
&lt;br /&gt;
--CHANGE 变化时触发中断 &lt;br /&gt;
&lt;br /&gt;
--RISING 低电平变为高电平触发中断 &lt;br /&gt;
&lt;br /&gt;
--FALLING 高电平变为低电平触发中断&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''注解''':&amp;lt;br&amp;gt;&lt;br /&gt;
在中断函数中 delay 函数不能使用, millis 始终返回进入中断前的值. 读串口数据的话, 可能会丢失. 中断函数中使用的变量需要定义为 volatile 类型.&amp;lt;br&amp;gt;&lt;br /&gt;
下面的例子如果通过外部引脚触发中断函数, 然后控制LED的闪烁.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
int pin = 13;&lt;br /&gt;
volatile int state = LOW;&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  pinMode(pin, OUTPUT);&lt;br /&gt;
  attachInterrupt(0, blink, CHANGE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(pin, state);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void blink()&lt;br /&gt;
{&lt;br /&gt;
  state = !state;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]]&lt;/div&gt;</summary>
		<author><name>Pppeng</name></author>	</entry>

	</feed>