Hi Arch,
I forgot to mention that the 12F629 is running with the internal 4 mhz oscillator. Set by configuration: @device intrc_osc_noclkout.
Dick
Hi Arch,
I forgot to mention that the 12F629 is running with the internal 4 mhz oscillator. Set by configuration: @device intrc_osc_noclkout.
Dick
Hi Dick,
94 seconds is about right. If you run this through MPLAB with a breakpoint
set on NEXT, you'll see it takes 9.4 seconds total just to reach NEXT.
Run through 10-times, and you end up with around 94 seconds to complete
your 10 pass loop.
You're forgetting to add-in the over-head for PBP commands.
Try it with these changes for around 40.0366 S.Code:for i = 1 to 10 counter = 0 while counter < time*500 '(40*500*10 = 200,000) GPIO.4 = 1 '(75% duty cyle) pauseus 150 '(pwm = 5000 hz (.000200 sec. period)) GPIO.4 = 0 pauseus 50 counter = counter+1 wend next ' <-- Takes 9.4 seconds to get here the first time
Time = 29
while counter < time*493
Last edited by Bruce; - 2nd March 2005 at 01:18.
Dear Bruce,
Thanks for your response and your astute trouble-shoot of the problem. The suggested fix does work.
I had a suspicion that code execution time was the culprit, but had no way of checking for the overhead time. I am surprised that it adds to so much error. I gotta get some tools to do that kind of debugging. Isn't MPLAB an assembly language code development suite?
Thanks,
Dick
Under MPLAB, you can include language suite. See Melabs website to get the patch and procedure for that
click here
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Hi Dick,
You're very welcome.Thanks for your response and your astute trouble-shoot of the problem. The suggested fix does work.
I had a suspicion that code execution time was the culprit, but had no way of checking for the overhead time. I am surprised that it adds to so much error. I gotta get some tools to do that kind of debugging.
Not at all. MPLAB works with most C compilers, PBP & PBC. It's a de-bugging/learning tool for the PIC. It's also free. My favorite price..;o]Isn't MPLAB an assembly language code development suite?
I highly recommend anyone using the PIC get familiar with MPLAB. It can save you countless hours of head-banging.
FYI: PBP uses a library. Even simple BASIC commands like serin, pulsout, count, while/wend, for next, etc, will generate many lines of code in assembly language. Some will generate "pages" of asembly code depending on the complexity of the command/library routine.
With MPLAB you can see all of this, and get a better idea of the over-head & time it takes for certain BASIC library routines (BASIC commands) to execute.
Here's how to install & set MPLAB up with PBP:
http://www.microengineeringlabs.com/support/mplab.htm
TIP: Get familiar with setting breakpoints & using the stopwatch to see how long PBP commands take to execute. Very handy stuff, and definitely worth the effort.
This particular problem/scenario is a prime example of why it's handy to learn to use MPLAB.
Bookmarks