Генерация звука.
Таймер дергает ногой OC0A. При постоянном значении OCR0A полет нормальный.
Задача стоит в имитации звука сирены, т.е. частота должна плавно повышаться и понижаться.
Но при изменении в цикле
- Код: Выделить всё
for (i=10; i>0; i--)
{
OCR0A=3+i;
delay_ms(20);
}
for (i=0; i<10; i++)
{
OCR0A=3+i;
delay_ms(20);
}
наблюдается нестабильность генерации (звук какими-то рывками), по истечении некоторого времени может (но не всегда) произойти "прорыв" на некоторое время, и звук становится нормальным, т.е. плавно понижается и повышается.
Что не так?