일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 임베디드시스템프로그래밍
- AVR
- setvbuf
- down-casting
- 임베디드 개발자
- 외부인터럽트
- 임베디드 입문
- 임계 영역
- c언어 setvbuf
- 데커
- 아두이노
- 리눅스 기초
- 피터슨 알고리즘
- AVR기초
- 업캐스팅
- 무래함의 비용
- 2019년 회고
- 데커 알고리듬
- 코딩
- 임베디드
- 임베디드 초급
- Dekker
- 임베디드 시스템 프로그래밍
- 대구소프트웨어고등학교
- up-casting
- 워치독 타이머
- 데커 알고리즘
- 다운캐스팅
- 리눅스 setvbuf
- peterson 알고리즘
- Today
- Total
목록아두이노 (2)
인성 좋은 인성이

본 글은 ATmega128을 기준으로 작성되었으며, 8bit 기준으로 설명되었음을 알립니다. ATmega128은 타이머가 4개(0~3)가 존재한다. 타이머는 인터럽트를 사용하고 PWM 파형을 만들고자 할 때 주로 사용된다. 이 중 타이머 0, 2는 8bit이고 1, 3은 16bit이다. 인터럽트는 카운트의 값이 오버플로우 되었을 때 발생하는 OVF, 카운트 값과 비교 레지스터 값이 일치할 때 발생하는 인터럽트 등이 존재한고, 입력 캡처 인터럽트도 존재한다. 사실 타이머를 사용하는 목적은 인터럽트 사용도 있지만, 내가 원하는 파형을 만들기 위해서(적어도 글쓴이는 그렇다) 많이 사용한다. 원하는 파형을 만들기 위해서는 ATmega128에서 제공하는 register를 적절하게 사용하면 된다. 그렇다면 ATme..

이 글의 내용은 ATmega328을 베이스로 합니다. 인터럽트란 무엇인가? 우선 인터럽트가 돌아가는 간단한 이해를 하고 있어야 인터럽트를 다룰 수 있다. 물론 인터럽트에 대한 이해가 없다고 인터럽트를 다루지 못한다는 것은 아니다. 하지만 인터럽트를 효율적으로 사용하기 위해서는 그 메커니즘을 이해할 필요가 있다. 인터럽트라는 개념은 기회가 된다면 자세하게 다루어 볼 생각이 있다. 다만 당장은 간단하게만 설명을 할 것이다. 인터럽트라는 것은 어떠한 특별한 이벤트가 발생했을때 발생하는 동작이라고 생각하면 된다. 즉 인터럽트는 평소에 동작하는 것이 아니라 일정한 조건이 충족될 때 동작하는 것이다. 그럼 언제 인터럽트를 활용해야 하는가? 사실 인터럽트는 사용하기 나름이다. 센서의 값을 받아올 때도 사용하고, 특정..