Embedded 실습/AT91SAM7S256
ADC(Analog-to-Digital Converter) 사용하기 - 2
중동콜링
2013. 5. 1. 19:40
이제 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의 전원공급이 가능해진다.