Thanks, I thought it might work.
Also, if I read the datasheet correctly, ADRES retains it's value when rebooted. That would be really useful, just so long as it can't get worn out from being used constantly.
Rich H
Thanks, I thought it might work.
Also, if I read the datasheet correctly, ADRES retains it's value when rebooted. That would be really useful, just so long as it can't get worn out from being used constantly.
Rich H
Boy Howdy,
I LIKE it when people think "outside the box", cause when they share it the box just gets bigger.
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
I don't think ADRES will work (should have checked yesterday)... pick a different register. Woke up this morning with something bugging me about your choice... according to the Datasheet ADRES is READ ONLY.
I would look at the LST file to see which variables PBP is not using; just allocating. Let me explain
If you look at pause or maybe pauseus, you will see that PBP uses the R0 and R1 registers each WORD type to handle the delay function. Similarly, PBP uses variables T1 to T4 for Boolean arithmetic (I deduced this by looking at the lst file). You can salvage some RAM by breaking up logical ANDs to a nested if structure - something like this
can be changed toCode:' typical logical and if testcondition1 and testcondition2 then do something endif ' typical logical or if testcondition3 or testcondition4 then do somethingelse endif
the second structure does not involve the T1..T4 variables of PBP and is resource friendly.Code:' simplified logical and if testcondition1 then if testcondition2 then do something endif endif ' simplified logical OR if testcondition3 then dosomethingelse if testcondition4 then dosomethingelse
Hopefully not using the logical operations of PBP will let PBP yeild the T1 to T4 registers???
A look into the Listing file will yeild some more. I haven't gone into the details yet.
Last edited by Jerson; - 10th May 2010 at 10:14. Reason: added stuff
Okay, I guess that explains why I couldn't get my program working, would have been nice to use ADRES.
As far as the booleans, I cannot use them now without getting the "unable to fit variable" error.
I currently use one word sized and one byte sized variable.
When I look at the list file I see that R2 and R3 are not used. Does that mean I can do something like;New approach, I set OPTION_REG.5 = 1 so that TMR0 would not increment and I am using that for my missing byte. It is working so far... but if I can use R2 or R3 that would be better because I wanted to try to use TMR0.Code:NewVariable VAR R2
Rich H
With Timer0 clock source set to external, and using TMR0 register as a variable, I would check to make sure TMR0 isn't incrementing when taking GP2 high/low.
Some internal counters, when configured for external clocks, will increment if you're using the pin as an output & toggling the pin.
Bookmarks