8비트 타이머카운터 정리
2019. 6. 14. 19:25ㆍ임베디드/ATmega128
타이머카운터 0, 2
파형출력핀은 OC핀 기준
1. 블록다이어그램에서의 차이
- 추가적인 클럭으로 0번은 외부 오실레이터, 2번은 외부 클럭을 달 수 있다. 단, 2번 외부 클럭은 분주 불가능 그리고 0번은 단독적인 외부 오실레이터를 제어할 수 있는 ASSR 레지스터를 가진다
2. 비교일치 인터럽트때만 파형 발생 출력모드를 바꿀 수 있다. COMn1, COMn0핀을 통해서. 오버플로우 인터럽트 때는 ISR안에서 파형 출력을 조절해야만 한다
3. 16비트를 써야만 하는 경우: 만일 비교일치로 toggle을 시키고 싶으면 최대 1/16M * 255 * 1024 = 16ms의 시간의 제한이 걸린다
4. CTC와 normal의 차이
- TCNT0 초기화 유무만 차이가 있지, 파형은 1:1밖에 발생시키지 못한다
5. PWM을 사용하는 이유
- 1:1의 한계를 벗어나 duty 사이클을 변화시킬 수 있다
물론 코드를 짜면 3,4번은 가능하게 할 수 있는 부분이지만 다른 설정을 사용해서 짠 코드와 비교하면 복잡한 코드가 될 것이기 때문에 안된다라고 하는 편이 나은 것 같다
'임베디드 > ATmega128' 카테고리의 다른 글
Input Capture를 사용해 스위치 입력 확인 (0) | 2019.06.14 |
---|---|
16비트 타이머카운터 정리 (0) | 2019.06.14 |
부저 음계주파수 계산 (1) | 2019.06.11 |
위상교정 PWM에서 0.5%단위의 듀티를 주는 방법 (0) | 2019.06.07 |
fast PWM과 위상교정 PWM의 해상도 차이 (0) | 2019.06.07 |