Выводы PWM0 и PWM1 настроены для выхода ШИМ в независимом режиме (PWMCON0=0010 0001).
Режим непрерывной генерации без пред и постделителей (PTCON0=0000 0000)
По даташиту, после настройки значений периода и длительности импульса, в режиме непрерывной генерации, запустив сброшенный таймер ШИМ, сразу должен активироваться выход ШИМ, выдавая импульс и начиная отсчет его длительности. Приводится описание с графиками.
Но...., и в железе и в симуляторе MPLAB, первый импульс пропускается, начинается генерация лишь со второго импульса. Это опечатка в даташите или что-то еще может быть???
Причем, если сразу после старта таймера ШИМ, предустановить значение таймера, как период с вычетом одной единицы (т.е., к прмеру для периода 0011 1111, сделать предустановку 0011 1110), то просчитав эту единицу (отсчитав период), таймер сбросится и активируется выход ШИМ, как и положено.
Короче говоря, получается, что нужно пересеч значение периода ШИМ, без этого первый импульс не генерируется. Или вставлять вышеуказанный костыль!
Должно ли так быть ???
Если да, то получается, что нужно учитывать этот пропуск в программе.
В даташите подобный пропуск оговаривается только для режим двойного счета вверх\вниз.

