Using the MSP-EXP430F5529LP, I was trying to verify timer_B operation by observing a PWM output. I had timer_B in continuous mode and was not getting anywhere. So I pasted code from timer_b_ex3_pwm (which has timer_B in up mode) into my project, then modified the timer_B period and duty cycle for longer and longer periods. I found that setting timer_B period to 0x8FFF will kill the PWM output, but a period of 0x7FFF will not. (I had the duty cycle widened, as well) I don't know why, because timer_B is 16-bit, so the period should extend to 0xFFFF.
Further experimenting, I found that setting the period to 0x1FFF and the duty cycle to 0x0800, the pulses come in threes, with an equal amount of dead time between groups of pulses.
I inserted a
TIMER_B_clear (TIMER_B0_BASE);
statement at the beginning to make sure all 16 bits are active, but it makes no difference.
I know PWM (albeit slow) is possible in continuous mode, but if PWM will not even operate past 0x7FFF period, I can't see how this will happen. Any ideas?