Цитата(evgn @ Apr 26 2007, 16:27)

Генерируем меандр с переменной частотой от 2кГц до 2,5кГц, меняется с частотой 7Гц.
В цикле меняем
OCR1C=X;
OCR1A=X/2;
Где Х вычисленное значение для генерации необходимо частоты меандра.
На осилографе наблюдаем переодическое пропадание шима... т.е. установление в 0 или 1 на несколько милисекунд... В чем причина такого поведения?

Обратите внимание на тот момент, что Вы никак не синихронизируете смену значения в OCR регистрах
и значение таймера. Поэтому возникает ситуация, когда Вы сменили значение в OCR, а TCNT продолжает считать, и если его значение выше нового OCR, то счётчик будет считать до переполнения, потом,естественно, обнулится, и только после этого произойдёт возврат к нормальной генерации.
Чтобы избежать подобных проблем - после записи в OCR ОБЯЗАТЕЛЬНО обнуляйте TCNT регистр.
Тогда сбоев в формировании ШИМ не будет.