오타가 있으면 말씀해 주세요 !!
압축파일만 덩그러니 횡해서 spec 페이지 정리한거 몇자 올려봅니다.
실행결과는 Timer Count 에 의해 1초에 한번 LED가 점멸합니다.
날씨가 개가있는데 개가 덥습니다... 그래도 퐈이팅하시길 !!
==================================================================================
★ Timer Count ( TC )
※ spec :: 389p
ㆍ3개의 체널에 구별되는 타이머 카운터를 가지고 있다. ( 16Bit)
ㆍ계산할수 있는 한계는 64K 이다.
ㆍATmega는 8bit ~ 16bit 사이이다.
ㆍ외부 PLL 에 의해 48M 로 증가 된다.
ㆍ즉 48M 에 1초이다.
ㆍ계산이 편하기 위해 묶어서 계산하는 것을 프리스케일러(분주비)라 한다.
ㆍ위 표의 나누기 2 ~1024 는 분주비 이다.
ㆍ즉 5가지의 분주비를 지원한다.
※ spec :: 390p
ㆍPMC, AIC, PIO가 관련되어 있다.
[ 레지스터 base address ]
※ spec :: 20p
[ 메모리 맵 ]
※ spec :: 405p
Ex) Init_timer(void) 함수 구성
[ 타이머 카운터 0을 사용을 위한 PMC활성화 ]
[ 타이머 클럭 비활성화 (TC_CCR설정) ]
※ spec :: 408p
[ 타이머 인터럽트 비활성화 (TC_IDR 설정) ]
※ spec :: 421p
[ 인터럽트 상태 정보 초기화 (TC_SR읽기) ]
※ spec :: 418p
ㆍ읽으면 사용후 지워진다.
[ 분주비 1024, 비교 방식 레지스터 설정 ]
( TC_CMR, TIMER_CLOCK5, TC_CPCTRG )
※ spec :: 409p
[ TC_RC 를 1초로 설정 ]
※ spec :: 417p
ㆍ48kHz / 1024 = 49.152 :: 1ms
ㆍ 49.152/4 = 12.288 :: 0.25ms
[ 타이머 카운터 0 인터럽트 비활성화 ( AIC_IDCR, TC0 ) ]
[ 타이머 카운터 0 인터럽트 핸들러 등록 ]
(AIC_SVR :: TC0, timer_handler)
ㆍ위와 같은 세련된 방식
[ 타이머 카운터 0 인터럽트 모드 설정 ]
(AIC_SMR :: TC0, AIC_SRCTYPE :: HIGH LEVEL, AIC_PRIOR :: LOWEST)
ㆍ위와 같은 세련된 방식
ㆍ최종 수정
[ 타이머 카운터 0 인터럽트 클리어 ]
(AIC_ICCR, TC0)
※ spec :: 204p
[ TC_RC 값 비교 타이머 인터럽트 활성화 ]
(AIC_IER, TC_CPCS)
※ spec :: 420p
ㆍwaveform 을 사용할 경우 A, B를 설정하고 사용하지 않을경우 C로 설정한다.
[ 타이머 카운터 0 인터럽트 활성화 ]
(AIC_IECR, TC0)
※ spec :: 203p
[ 타이머 클럭 활성화 ]
(TC_CCR, TC_CLKEN)
※ spec :: 203p
[ 타이머 시작 ]
(TC_CCR, TC_SWTRG)
Ex) void timer_handler(void) 함수 구성
[ 인터럽트 상태 정보 초기화 ]
( TC_SR 읽기 )
[ LED 토글 프로그래밍 ]
[ 인터럽트 상태 정보 초기화 ]
( TC_SR 읽기 )
Ex) 전 AIC포스팅의 헤더파일에 Timer/Counter 추가 |
/*======================================================================== #define COVFS 0 |
Ex) timer 헤더 파일 |
#ifndef __TIMER_H__ |
Ex) 위 과정대로 함수 구성 |
#include "timer.h" |
Ex) main 함수 |
#include "arm.h" |
< 실행 결과 동영상 참고 >
'코스웨어 > 12년 내장형하드웨어' 카테고리의 다른 글
[Arm] 초음파센서 입니다 by 권용찬 (0) | 2012.08.01 |
---|---|
[ Windows API ] PUSH PUSH 게임 앵그리버드 버전 / 마시마로 버전 !!! by. 임창엽 (0) | 2012.07.26 |
[ Wnidows API ] 과제 SimplePaint2 참고 하시길. by.임창엽 (1) | 2012.07.24 |
간단한 makefile (0) | 2012.07.23 |
ARM 요약(한글파일;;) 입니다~ (0) | 2012.07.23 |
ARM 수정한것====>이동혁 (0) | 2012.07.23 |
오늘한 ARM------> 이동혁 (0) | 2012.07.23 |
하호진 AIC interrupt (0) | 2012.07.23 |