Hello,
i have a 28335 board that i'm having a weird behavior on the pwm channels. i'd need to pick some brains to see what might be the possible cause(s). the board does not use TZ and TZ registered are not initialized.
the pwm is set to 10khz, at some particular pwm duty cycle, it would skip a whole cycle and put out 0 for over 100us. the neiborghing pulses are normal. this behavior initially occurs at around 70% duty, i fed a counter varing between 5800-5900 automatically and sporadically i would see this skip of pulses.
after i turned on some optimization level from none to -O2, the behavior changes. now it occurs pretty close to 99% duty, and sporadic. which means 99% duty becomes zero for one period then 99% again.
my question would be that there is no where in the code that duty of the pwm registers change, and the duty register CMPA.half never goes zero, then what might be able to change the pwm behavior?
i do have the pwm triggers the interrupt and it runs the duty update. in this isr, all other interrupts are disabled. the timer isr is the only other interrupt in the project.
since this is timing related, i did test out the execution of the pwm isr with a toggling IO which shows about 50% use only..
regardless, any hint what else may affect the cycle by cycle behavior of the pwm module? TZ is not used and this happens without power switching...
thanks
regards
gz