I wang to make an interrupt ever 200Hz, so I write the code as the follows. But the interrupt is not right, I didn't find the problem,I think set the TIM0TC2 register can change the output time,but it didn't work.Why?
I try to add "TIM0TC2=TIM0TC2+OC_Time" in the interrupt. It works right. But why add this command? I have configure the TIM0TC2 register in the Timer_OC().
(ps: the bus clock=16MHz,OC_Time=5000)
Hi xue j,
Because the OC match does not reset the counter.
Your solution is correct, you need to update the TIM0TC2 register with the counter value of the next OC match.
Example S12ZVL ADC0 triggered by TIM0 OC updates PWM duty cycle
Retrieving data ...