이제 ADC를 ARM칩의 DATA SHEET에 맞춰 코딩을 해본다.
우선 ADC의 BLOCK DIAGRAM을 살펴보자.
ADC를 우선 사용하려면 전원공급부터 해야 한다.
PMC는 Power Management Controller 의 약자로 전원을 공급하는 유닛이다.
PMC의 레지스터를 살펴보자.
PMC_PCER이 각 주변장치(Peripheral)에 클럭을 공급해주는 레지스터임을 확인할 수 있다.
그런데 PMC_PCER에는 주변장치의 ID를 입력해주어야 한다.
ADC의 ID는 데이터 시트 10장 Peripheral에서 찾을 수 있다.
ADC의 ID는 4인걸 알 수 있다.
이로써 PMC_PCER레지스터에 ADC에 해당하는 4번째 비트에 1을 대입해주면 ADC의 전원을 공급할 수 있다는걸
알 수 있다.
#define PMC_PCER (*((volatile unsigned int *)0xFFFFFC10))
#define ADC_ID 4
PMC_PCER = 1 << ADC_ID; // 전원공급
위 코드와 같이 PMC_PCER 레지스터의 주소를 찾아 define해주고
ADC의 ID만큼 시프트 연산을 해준뒤 대입하면 ADC의 전원공급이 가능해진다.
'Embedded 실습 > AT91SAM7S256' 카테고리의 다른 글
ADC(Analog-to-Digital Converter) 사용하기 - 4 (1) | 2013.05.01 |
---|---|
ADC(Analog-to-Digital Converter) 사용하기 - 3 (0) | 2013.05.01 |
ADC(Analog-to-Digital Converter) 사용하기 - 1 (1) | 2013.04.29 |
TIMING DIAGRAM대로 프로그래밍하기 (1) | 2013.04.21 |
임베디드 프로그래밍에서 bit연산자 활용법(시프트 연산자, OR연산자) (1) | 2013.04.16 |