I'm assuming that the changing frequency shown on the scope was because you were changing the frequency yourself. If thats the case, does it ever glitch when the frequency is left the same or is it only when the frequency is changed?
I'm assuming that the changing frequency shown on the scope was because you were changing the frequency yourself. If thats the case, does it ever glitch when the frequency is left the same or is it only when the frequency is changed?
"I think fish is nice, but then I think that rain is wet, so who am I to judge?" - Douglas Adams
Hi,
Yes, I'm changing the frequency during the video. But when I'm in an idle state, the glitches also occurs.
If you don't have any Logic Analyser handy, I would use a PC soundcard and record the PWM waveform to see if it's a Scope Trigger problem first.
Where your scope get it's trigger from?!? Internal or External?
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
The scope is trigerred to external (CH1), rising edge with noise rejection.
News :
I've made some experiments, it's not an oscilloscope trigger problem.
I think it comes from my code. But where?
Hi, Pxidr84
Something caught my attention ... in the reloading, you use DIV32; are you sure there's no possible interrupt while DIV32 works ???
as timer0 is a low priority interrupt ... I'd check that two or three times.
... just an idea after a very quick browse ...
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Hi,
Timer0 interrupt is used for the calculation of the inverter paramaters (like the V/F ratio, the timer reload variable, etc.) It's a low priority interrupt because the Timer1 interrupt (used for the PWM generation) is very critical and must be
executed all of the time.
The DIV32 is used for calculate the timer reload value (the timer routine is from Henrik). However this routine is needed for output the desired sine frequency. This routine directly controls the Timer1 interrupt frequency. It is possible to avoid this DIV32 command (because it seems to take a LOT of ressources)?
Maybe it's better to use Timer0 as a high priority interrupt?
Maybe a PWM register is misconfigured?
I don't know![]()
Bookmarks