TCNT0=0x00; // Count 초기화
TCCR0=0x0A; // clk/8 CTC
OCR0=249; // 4Khz = clk/8/(249+1)
TIMSK=0X02;
제가 짠 코드인데
타이머0 컴패어 인터럽트를 이용할 목적이구요
TCCR0에서 8분주 CTC모드로 설정해서
CTC모드일때 주파수 계산 공식을 적용해서
16Mhz/(2*분주비*OCR0+1) = 4000hz 되도록 세팅했거든요
이렇게 설정하면 4khz로 펄스가 나오는게 맞는건지?
TCCR0=0x0A; // clk/8 CTC
OCR0=249; // 4Khz = clk/8/(249+1)
TIMSK=0X02;
제가 짠 코드인데
타이머0 컴패어 인터럽트를 이용할 목적이구요
TCCR0에서 8분주 CTC모드로 설정해서
CTC모드일때 주파수 계산 공식을 적용해서
16Mhz/(2*분주비*OCR0+1) = 4000hz 되도록 세팅했거든요
이렇게 설정하면 4khz로 펄스가 나오는게 맞는건지?
스코프로 찍어보면 확인할 수 있는데/ 없으신가보네요?
컴패어 모드로 설정만 하면 펄스는 안나올텐데요.
단지 4KHZ시간마다 인터럽트가 걸릴뿐이에요
인터럽트 걸릴때마다 on, off 신호를 출력을 해줘야합니다.
pwm 컴패어 모드라면 자동으로 펄스가 나올꺼구요(해당 핀에서)
제가 5일간 출장을 나와있어서 데이터쉬트나 책을 찾아 볼수가 없어서 정확히는 말씀 못드리겠네요(저도 외우고 다니는게 아니라서요..ㅋㅋ)
요기 피시방비가 1시간당 3천원인데 ;; 이거 적고 있어요 ㅠ.ㅠ
1번,3번 타이머는 oc a,b,c 를 사용하구요