이해가 되지 않아서요~~
ATMEGA48 을 사용하여 PWM 을 했을 경우에
PWM 펄스의 폭이 아주 좁을때 ( OCR0A 에 10 미만의 값을 넣었을때)
PWM동작이 연속으로 계속되어야 하는데
500ms 정도 동안은 PWM 동작, 500ms 동안은 PWM 정지...
이런 동작(0.5초단위로 동작이 끊어짐)을 반복하네요.
즉, LED를 달아보면 불이 깜박이는 현상이 나타납니다.
PWM 펄스의 폭이 넓어지면 정지하는 시간이 없어집니다.
혹시 초기화하는데 문제가 있는지..
혹이 이런경우를 당해 보신분 조언좀 주세요.
PD6 (OC0A)로 PWM이 출력되는 방식으로
소스는 아래와 같습니다.
void main( void )
{
DDRD = 0xEE; // Init PORTD
TCNT0 = 0;
TCCR0A = 0xA3;
TCCR0B = 0x02 ;
OCR0A = 10;
while( 1 ) { }
}
경험상..
혹시 전원이 불안하거나..
와치독 타이머가 동작해서 그럴 수도 있어요.