-
20140714 (ARM Interrupt로 LED 켜기)부산IT학원/스마트컨트롤러 2014. 7. 14. 16:25
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
'부산IT학원 > 스마트컨트롤러' 카테고리의 다른 글
20140716 (ARM 초음파 모듈, Ultrasonic) (0) 2014.07.16 20140715 (ARM Timer & Counter) (0) 2014.07.15 20140708 (ARM DBGU UART 통신) (0) 2014.07.08 20140707 (ARM LCD) (0) 2014.07.07 20140704 (ARM 회로도, Register 사용법) (0) 2014.07.04