<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
		<id>http://lhdangerous.godohosting.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Software_Interrupt_%28%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8%29</id>
		<title>Software Interrupt (소프트웨어 인터럽트) - 편집 역사</title>
		<link rel="self" type="application/atom+xml" href="http://lhdangerous.godohosting.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Software_Interrupt_%28%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8%29"/>
		<link rel="alternate" type="text/html" href="http://lhdangerous.godohosting.com/wiki/index.php?title=Software_Interrupt_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8)&amp;action=history"/>
		<updated>2026-04-18T10:47:56Z</updated>
		<subtitle>이 문서의 편집 역사</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>http://lhdangerous.godohosting.com/wiki/index.php?title=Software_Interrupt_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8)&amp;diff=223&amp;oldid=prev</id>
		<title>2018년 6월 12일 (화) 02:04에 Doguin님의 편집</title>
		<link rel="alternate" type="text/html" href="http://lhdangerous.godohosting.com/wiki/index.php?title=Software_Interrupt_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8)&amp;diff=223&amp;oldid=prev"/>
				<updated>2018-06-12T02:04:33Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='ko'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;2018년 6월 12일 (화) 02:04 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot; &gt;50번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;50번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Arduino Tip]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:Arduino Tip]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[category:interrupt]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Doguin</name></author>	</entry>

	<entry>
		<id>http://lhdangerous.godohosting.com/wiki/index.php?title=Software_Interrupt_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8)&amp;diff=217&amp;oldid=prev</id>
		<title>Doguin: 새 문서:  # 개요 아두이노에서 하드웨어 인터럽트는 2개 (Uno, nano) 사용할 수 있는데, 가끔 인터럽트가 더 많았으면 좋겠다 싶을 때도 있고, 또 때로...</title>
		<link rel="alternate" type="text/html" href="http://lhdangerous.godohosting.com/wiki/index.php?title=Software_Interrupt_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8)&amp;diff=217&amp;oldid=prev"/>
				<updated>2018-06-12T01:42:54Z</updated>
		
		<summary type="html">&lt;p&gt;새 문서:  # 개요 아두이노에서 하드웨어 인터럽트는 2개 (Uno, nano) 사용할 수 있는데, 가끔 인터럽트가 더 많았으면 좋겠다 싶을 때도 있고, 또 때로...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
# 개요&lt;br /&gt;
아두이노에서 하드웨어 인터럽트는 2개 (Uno, nano) 사용할 수 있는데, 가끔 인터럽트가 더 많았으면 좋겠다 싶을 때도 있고, 또 때로는 일정한 시간마다 주기적으로 어떤 처리를 해야하는 경우도 있다. 이럴 때 유용하게 쓸 수 있는 소프트웨어 인터럽트 (타이머) 활용법 대 공개!&lt;br /&gt;
&lt;br /&gt;
아두이노에는 기본 3개의 타이머가 내장되어있는데, timer0, timer1, timer2이다. timer0은 delay()등의 시간관련 함수에서 내부적으로 사용하고,  timer1은 서보라이브러리가 사용, timer2는 tone()에서 사용한다. 이 타이머도 일종의 인터럽트라고 할 수 있겠다. TimerOne라이브러리는 Timer1 타이머를 사용해 인터럽트를 구현토록 해준다.&lt;br /&gt;
&lt;br /&gt;
# TimerOne 라이브러리 설치&lt;br /&gt;
아두이노 메뉴 &amp;gt; 스케치 &amp;gt; 라이브러리 포함하기 &amp;gt; 라이브러리 매니저 에서 TimerOne 라이브러리를 검색 해 설치한다.&lt;br /&gt;
혹은 [이곳](https://code.google.com/archive/p/arduino-timerone/downloads)에서 다운.&lt;br /&gt;
&lt;br /&gt;
# 예제&lt;br /&gt;
```C&lt;br /&gt;
/*&lt;br /&gt;
* 언제라도 버튼(핀7)누르면 즉시 불(핀13) 켜지는 회로&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;TimerOne.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
	pinMode(7,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
	Timer1.initialize(100000); // 1초마다 실행. in microseconds&lt;br /&gt;
	Timer1.attachInterrupt(intFunction);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
	digitalWrite(13, LOW);&lt;br /&gt;
	delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void intFunction(){&lt;br /&gt;
	if (digitalRead(7) == LOW){&lt;br /&gt;
		digitalWrite(13,HIGH);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
```&lt;br /&gt;
# 주의점&lt;br /&gt;
아두이노 서보 라이브러리가 Timer1을 사용하고있어 충돌이 일어날 수 있다. 그럴 땐 servo 라이브러리 대신 timer2를 사용하는 servotimer2 라이브러리를 사용해 충돌을 피하자. &lt;br /&gt;
&lt;br /&gt;
[[ServoTimer2]]&lt;br /&gt;
&lt;br /&gt;
[ServoTimer2 라이브러리](https://platformio.org/lib/show/1305/ServoTimer2)&lt;br /&gt;
아두이노 메가 등은 타이머가 총 6개 내장되어있고, 충돌을 피하기 위해 Timer3을 사용할 수 있다. [TimerThree 라이브러리 다운로드](http://playground.arduino.cc/Code/Timer1)&lt;br /&gt;
&lt;br /&gt;
# 참고&lt;br /&gt;
한글자료: http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=lecture_pract&amp;amp;wr_id=12&lt;br /&gt;
&lt;br /&gt;
라이브러리 문서: http://playground.arduino.cc/Code/Timer1&lt;br /&gt;
&lt;br /&gt;
[[category:Arduino Tip]]&lt;/div&gt;</summary>
		<author><name>Doguin</name></author>	</entry>

	</feed>