20140714 (ARM Interrupt로 LED 켜기)

101일차







------------------

ARM Interrupt

------------------




------- 내부 Reg





------- 외부 Reg












------- Interrupt 함수

Interrupt 함수는 실행 속도와 처리 속도가 빨라야 하므로

변수 할당과 소스코드가 적어야 한다.



컴파일러마다 특징이 있는데

우선 컴파일러는 3가지가 있다

- IAR (Atmel 본사)

- Kei (다른 회사)

- gcc (gnu)


--- IAR 컴파일러의 특징

함수를 호출할 때 인자 4개 까지는 Reg에 저장하고

5번째것은 Stack에 저장하므로

메모리도 아끼고 Reg에 넣으므로 속도도 빠르다.


따라서 실제 성능을 최대로 뽑으려면 IAR을 사용해야 한다.







------- Reg

PIOA_IMR은 인터럽트 on/off 여부


PIOA_ISR은 인터럽트가 걸렸는지 여부

ISR은 한 번 읽으면 



인터럽트가 걸리면

한가지 함수만 사용하는데

그 함수 안에서 어떤 핀이 왔는지

프로그래밍적으로 구현해야 한다.









------- 예제 소스


- irq.c





- main.c







설정

트랙백

댓글