2013. 4. 29. 16:23
임베디드/Arm2567SAM
1.위의 타이밍도를 살펴보면 가장먼저 봐야할 부분은 ADC_CR이다.
먼저 ADC_CR에 해당하는 레지스터를 데이터 시트에서 찾고
START를 1로 왼쪽으로 밀어준다.
ADC_CR=1<<START;
2. 파란색 동그라미를 주목한다. EOCx와 DRDY가 CONVERSION TIME 시작
시에는 LOW상태로 있다가 EOCx와 DRDY가 동시에 HIGH가 된다.
그러나 ADC_CDRx(노란색 네모)가 읽기를 수행이 끝나면, EOCx는
LOW가 되고 DRDY는 HIGH를 유지한다.
뒤에 ADC_lCDR은 EOCx와 DRDY가 똑같이 반응하였다.(연두색 원)
여기서 CDRx와 LCDR이 서로 다르다라는 것을 알 수 있다.
ADC_CDRx의 의해 EOCx가 변했으므로 EOCx는 ADC_CDRx의
전용채널인 것을 짐작할 수 있다.(보라색 동그라미 부분)
ADC_CHSR=
ADC_SR =
ADC_SR =
ADC_CDRx
1. ADC_CR
ADC_LCDR = 최근 컨버전 데이터 레지스터.
ADC_MR에서 PRESCAL과 LOWRES주목한다.
LOWRES = 10비트, 분해와 8비트 분해가 있다.
이왕 더욱 디테일하게 표현하기 위해서 10비트를 사용.
그래서 해당 소스에는 0으로 되어있을것이다.
#define LOWRES 0 -> ADC.C파일에 정의한다.
TRGEN
= 오른쪽부터 3 2 1이라고 생각한다.
TRGEN은 자세한 설명은 패스한다.
PRESCAL의 구하는 공식이다.
ADCCLOCK이 몇번 깜빡이냐의 따라서 ??????
'임베디드 > Arm2567SAM' 카테고리의 다른 글
5월 15일 타이머1.(정리예정) (0) | 2013.05.15 |
---|---|
5월 14일 타이머 정리 (0) | 2013.05.15 |
4월 29일 ADC컨버전 함수만들기 (0) | 2013.04.29 |
4월 26일 숫자를 lcd에 출력하기 (0) | 2013.04.26 |
4월 26일 ADC (0) | 2013.04.26 |