Добрый день уважаемые форумчане) Столкнулся с такой весьма не приятной проблеммой, как свист шим. Долгое время я пытался создать плеер на AVR, и в конце концов остановился на проекте ATMEGA128A+MicroSD+DISPLAYnokia6610. Вот такой девайс, сначала научился выводить информацию на дисплей, затем работать немного с флешкой. Вскоре был построен аппарат который читал подряд блоками WAV музыку 8 бит 48кГц. Моно. Звук выводился через ШИМ таким образом:
OCR1A=SPDR;
Это значит что значение Шим равно тому что приходит с флешки.
Но что я заметил: даже если ничего не возпроизводить, а просто задать ШИМ любое значение к примеру OCR1A=0x02; или любое другое то в наушнках будет свист. этот свист слышно даже далеко в коридоре. он настолько "ультразвук" что через время перестаёш замечать но начинает болеть голова. просто ужас! Вот я и хотел спросить у знаюших людей как можно обойти свист ШИМ?
И ешё: когда в 10 битный шим пихалось 8 бит то свист был сильнее, сейчас работает 8 битный ШИМ. но этот лёгкий фоновый свист добивает! Помогите пожалуйста!
вот инициализация ШИМ
void PWMON(void)
{
TCCR1A = (0<<WGM11)|(1<<WGM10)|(1<<COM1A1)|(1<<COM1B1);
TCCR1B = (1<<CS10)|(1<<ICNC1);
}
Раздел: AVR
OCR1A=SPDR;
Это значит что значение Шим равно тому что приходит с флешки.
Но что я заметил: даже если ничего не возпроизводить, а просто задать ШИМ любое значение к примеру OCR1A=0x02; или любое другое то в наушнках будет свист. этот свист слышно даже далеко в коридоре. он настолько "ультразвук" что через время перестаёш замечать но начинает болеть голова. просто ужас! Вот я и хотел спросить у знаюших людей как можно обойти свист ШИМ?
И ешё: когда в 10 битный шим пихалось 8 бит то свист был сильнее, сейчас работает 8 битный ШИМ. но этот лёгкий фоновый свист добивает! Помогите пожалуйста!
вот инициализация ШИМ
void PWMON(void)
{
TCCR1A = (0<<WGM11)|(1<<WGM10)|(1<<COM1A1)|(1<<COM1B1);
TCCR1B = (1<<CS10)|(1<<ICNC1);
}
Раздел: AVR