개요 | |
EFM8 의 PCA이용하여 클럭 MCU핀으로 출력하는 예를 보인다. 본 글에서의 구체적인 상황예는 PCA의 클럭소스로 RTC를 선택하고, PCA 채널0의 핀으로 클럭을 출력하게 한다. RTC 클럭소스로 외부크리스탈 32.768 kHz 가 사용되게하여, 결론적으로 32.768KHz 크리스탈 클럭베이스로 한 2.048KHz/N 의 주파수의 구형파가 핀으로 출력되게 하는 것. 여기서, N = 1,2,..., 256 까지 가능하다.
기본 배경지식 1. PCA : http://igotit.tistory.com/296 2. RTC : http://igotit.tistory.com/253 | |
|
구현. | |
단계1. RTC 설정. - 이 부분은 별도로 정리된 글에서의 설정과 완전 동일함. 보기 -> http://igotit.tistory.com/249
단계2. PCA 설정. 우리 프로젝트에서 PCA 를 선택하고 , PCA0 탭에서 Select PCA Counter/Timer Pulse(PCA에서 사용하는 클럭소스를 의미함) 를 RTC/8 로 선택한다.아래그림.
Channel0 탭에서 Channel Capture/Compare Mode 선택을 Frequency Output 으로 하고, Clock Divider 를 원하는 값으로 선택한다. 가능한 값의 범위는 1~256 까지이다. 256 을 선택하면 8Hz (= 2048/256) 의 구형파가 출력되게 된다.
PCA0 채널0 을 핀에 할당하는 처리를 아래 CROSSBAR 설정에서 PCA0_CEX0 를 체크하는 것으로 한다. 아래 그림 오른쪽 속성창에서 설정하면 Port I/O 에서 핀에 배정상황을 보여주는데, 기본 P0.0 에 배정되게된다. 아래 그림에서 PCA0_CEX0 은 P1.1 에 지정하였으며 이 핀으로 이동시키기 위해서는 P0.0 부터 P1.0 의 핀 설정에서 skip 속성을 skipped 로 선택하면 된다. <- skip하는 방법 상세설명 : http://igotit.tistory.com/228 의 단계3에 설명되어있음.
위 설정이 전부이다. 이후, 빌드하고 펌웨어 기록후 실행시켜보면 P1.1 에서 2048Hz 의 구형파가 출력된다.
| |
|
본 글이 포함된 상위 정리장소 : http://igotit.tistory.com/244 |
///299.
'임베디드.일렉트로닉스 > EFM8' 카테고리의 다른 글
EFM8 인트럽트 코드생성. (0) | 2015.06.10 |
---|---|
EFM8 SB1 개발보드. (0) | 2015.06.09 |
EFM8 SB1. Capacitive Sense Profiler 활용. (0) | 2015.05.02 |
EFM8 SB1 의 Programmable Counter Array(PCA), Watch Dog Timer (0) | 2015.05.01 |
EFM8 SB1에서 I2C 구현 (0) | 2015.05.01 |
댓글