본문내용
st PWM)
9비트 Fast PWM 모드에서는 타이머의 카운트 범위가 0부터 511(2^9 - 1)까지이다. 즉, TOP 값은 511이다. 이 값은 9비트 분해능의 기본 설정이므로 별도로 설정할 필요는 없다.
5. 듀티 사이클 설정 (65% 듀티)
65% 듀티 사이클을 구현하려면, 비교 일치 레지스터 OCR3A 값을 설정해야 한다. 9비트 Fast PWM에서는 TOP 값이 511이므로, 65% 듀티비를 만들기 위해서는 다음과 같이 OCR3A 값을 계산한다.
OCR3A=0.65×511=332
OCR3A = 332;
6. 최종 코드
// 9비트 Fast PWM 모드 설정
TCCR3A |= (1 << WGM31);
TCCR3B |= (1 << WGM32);
// Non-Inverting 모드 설정
TCCR3A |= (1 << COM3A1);
// Prescaler 설정: 내부 클럭을 64로 분주
TCCR3B |= (1 << CS31) | (1 << CS30);
// 65% 듀티 사이클 설정
OCR3A = 332;
이 설정을 통해 타이머/카운터 3이 9비트 분해능의 Fast PWM 모드에서 65% 듀티 사이클의 PWM 신호를 OC3A 핀에 출력할 수 있게 된다.
9비트 Fast PWM 모드에서는 타이머의 카운트 범위가 0부터 511(2^9 - 1)까지이다. 즉, TOP 값은 511이다. 이 값은 9비트 분해능의 기본 설정이므로 별도로 설정할 필요는 없다.
5. 듀티 사이클 설정 (65% 듀티)
65% 듀티 사이클을 구현하려면, 비교 일치 레지스터 OCR3A 값을 설정해야 한다. 9비트 Fast PWM에서는 TOP 값이 511이므로, 65% 듀티비를 만들기 위해서는 다음과 같이 OCR3A 값을 계산한다.
OCR3A=0.65×511=332
OCR3A = 332;
6. 최종 코드
// 9비트 Fast PWM 모드 설정
TCCR3A |= (1 << WGM31);
TCCR3B |= (1 << WGM32);
// Non-Inverting 모드 설정
TCCR3A |= (1 << COM3A1);
// Prescaler 설정: 내부 클럭을 64로 분주
TCCR3B |= (1 << CS31) | (1 << CS30);
// 65% 듀티 사이클 설정
OCR3A = 332;
이 설정을 통해 타이머/카운터 3이 9비트 분해능의 Fast PWM 모드에서 65% 듀티 사이클의 PWM 신호를 OC3A 핀에 출력할 수 있게 된다.
소개글