BASIC4MCU | 질문게시판 | atmega128a FOC 질문이요
페이지 정보
작성자 초짜 작성일2019-08-27 03:42 조회13,723회 댓글3건본문
FOC 다 찾아봤는데도 이해를 못하겠네요.
일단 PWM모드가 아닌 경우면 타이머 자체를 자용을 못할테고...(타이머가 PWM자체를 사용하니깐요..)
그럼 OC0 (PORTB4) 가 com01:00값에 통해 즉시 출력된다는건데..
즉시 출력이라는 말이 그냥 게속 PORTB.4에 출력이 된다는 뜻인가요??
그리고 CTC 모드에서 클리어를 시키지 않는다는데 PWM 을 안쓰면 그냥 모든 타이머가 클리어 안되는거 아닌가요??
이해를 못하겠네요 ㅠㅠ
그냥 제 유추입니다만...PWM모드가 WGM 01: 00 값이 11이거나 01인 동작 모드를 말하는 것인가요? ㅠㅠ
그럼 OCR 비교 매치는 노말에서는 못쓰고 CTC에서만 쓸수 있다는 건데..
그럼 클리어가 안되는 거니깐..CTC 모드에서는 게속 PORTB.4 에 출력이 되겠네요.
NOMAL에서는 FOC값을 1을 주든 말든 상관도 없구요/.
제가 이해한게 맞는지 모르겠습니다 ,ㅠㅠ
댓글 3
조회수 13,723master님의 댓글
master 작성일
레지스터 설정 및 값의 변화는 (디버깅 모드의)시뮬레이션을 통해서 확인할 수 있고요
포트 출력을 직접 체크해보세요
CTC 모드에서 FOC비트를 Set 시키면 매 비교일치 시 출력이 반전 됩니다.
주파수 같은 50% 듀티의 펄스를 만들 때 유용하죠
시뮬레이션 시 주의 사항은
AVRStudio 4.18 버전은 버그가 있어서 타이머 모드 체크가 안됩니다.
4.19 또는 그 이후의 새로운 버전에는 타이머 시뮬레이션 버그가 처리된 것으로 알고 있습니다.
초짜님의 댓글
초짜 작성일아 감사합니다! 한가지만 더 여쭤봐도 될까요? 그럼 OCR 값과 TCNT값이 같아진다면 HIGH 상태였다가 Low 상태로 이렇게 번갈아가면서 변환된다는 뜻인데. 그럼 TCNT 값이 LOW 로 떨어질때도 OCR 값과 만나니 반전이 되는 건가요?? 근데 그렇게 된다면 OCn출력 클리어랑 토클이랑 무슨 차이점인지를 모르겠네요 ㅠㅠ 차라리 출력 클리어나 토글을 쓰는게 낫지않나요 ㅠㅠ 그리고 CTC 모드에서 클리어를 못한다면..CTC 타이머 기능은 사용할 수가 없는건가요??
master님의 댓글
master
(일부러 변경하지 않는 이상) OCRx 값은 0이든 다른 값이든 변하지 않고 그대로 있겠죠?
TCNTx와 OCRx가 일치하는 것은 TCNT값의 1 주기 당 1회 밖에 없습니다.
뭘 하고 싶은거죠?
어떤 신호를 만들고 싶은 것인지 모르기 때문에 질문의 요점도 이해가 안갑니다.