728x90
반응형
초음파센서
타이머에서 썼던 Timer_Init함수를 그대로 복사해와서
U_Timer_Init으로 함수의 이름을 바꿔줍니다.
타이머 카운터는 0번을 쓰기로 하였습니다.
먼저 PMC를 활성화해서 전원을 공급해 줍니다.
세팅하는 중간에 동작하면 안되기 때문에 클럭을 끊습니다.
읽기만하면 지워지기 때문에, 읽어서 클리어 합니다.
DIV4_CLOCK --> 분주비로 128을 합니다.
AT91C_TC_CPCTRG register c와 비교합니다.
클럭을 세는 것을 카운터레지스터라 합니다.
pdf473페이지 Timer Counter Counter Value(TC_CV)
클럭을 발생시키는데는 분주비가 역할을 하는데
분주비를 128로 주면 클럭의 속도가 줄어듭니다.
원래 기존의 하나의 클럭을 1이라하면 이 클럭이 128배로 늘어나면서
클럭의 속도가 줄어든 것입니다.
※ 타이머에는
컴페어 방식(레지스터 2개사용)과
오버플로우방식(레지스터 한개사용)이
있는데 여기서 컴페어 방식을 씁니다.
※ 이 타이머는 ARM코어와 별개로 독자적으로 움직입니다.
함수를 등록합니다.
AT91C_AIC_SVR 왼쪽은 고정,
[AT91C_ID_TC0] 오른쪽은 함수의 주소를 넣는 곳입니다.
타이머에서 컴페어 인터럽트가 여기에 있는 숫자(함수의 주소)로 점프합니다.
인터럽트가 발생하면 그 주소(AT91C_ID_TC0)로 가서 함수를 실행합니다.
그 주소가 12번이면 인터럽트가 발생하면 12번지로 가서 함수를 실행합니다.
728x90
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
pwm 파일입니다 (2) | 2015.09.14 |
---|---|
20150911-11번-남수진 - 센서(초음파센서) / ARM(PWM) (6) | 2015.09.11 |
20150910 출석번호 9번 김태현 업무일지 -초음파 센서 (6) | 2015.09.10 |
ARM -Ultra Sonic 소스 입니다~ (0) | 2015.09.10 |
20150908-3번-권오민 - 센서(서미스터) & ARM(Timer & Ultra Sonic) (12) | 2015.09.08 |
타미머 소스입니다. (2) | 2015.09.08 |
20150907-5번-김성주-일일업무일지-타이머카운터 (9) | 2015.09.07 |
20150904 2번 강동조 (3) | 2015.09.04 |