Цитата
По теории после включения таймера в режиме ШИМ (PWMOUT) в регист TIMERx_COUNTER должен записаться 0 и счетчиком инкрементироваться до значения в регистре TIMERX_PERIOD.
Не помню точно так или может быть наоборот считает на декремент.
Числа вы видите рандомные потому что установлен бит EMU_RUN - при эмуляции таймер работает. Это означает что таймер работает даже если вы остановили программу в эмуляторе.
Внутри прерывания сбрасываете статусный бит?
Вот так у меня формируется на выходе четверть частоты SCLK
Код
#define BF_T0_PERIOD 4
#define BF_T0_WITDH 2
*pTIMER0_CONFIG = PWM_OUT | PERIOD_CNT;
*pTIMER0_PERIOD = BF_T0_PERIOD;
*pTIMER0_WIDTH = BF_T0_WITDH;
*pTIMER_ENABLE |= TIMEN0;