Using the BasicMicro 40 pin on the PDB
I ran out of memory with my Stamp BSP40
Here is my program: Initilize a 5X4 keypad using MemKey, Attach a 2X16 LCD, Attach two Little Step-U and input some parameters (20 Variables stored in RAM since the Stamp limits the number of variables) and then start the program running.
At the point of running the program there was no more room in the inn to do the action stuff with the steppers. I think I need another 2-3k Bytes to finish up.
I noticed that the BasicAtom 40 might work because of its larger memory. BasicMicro told me it would fit the PDB, however I find that their chip won't program. Their forum said the problem was probably the series 0.1 uf cap at pin 4 DTR and I should jumper it.
Problem is I can't find it w/out a schematic. I also couldn't find it by probing around Pin 4 either. Maybe it's not even there on the PDB?
Can you give me some suggestions.:
How to get the BasicMicro in the programming mode? OR
Options that would help me stay in the Stamp family.
Thanks to all you Geniuses
A beginner,
Austin
Here is my program: Initilize a 5X4 keypad using MemKey, Attach a 2X16 LCD, Attach two Little Step-U and input some parameters (20 Variables stored in RAM since the Stamp limits the number of variables) and then start the program running.
At the point of running the program there was no more room in the inn to do the action stuff with the steppers. I think I need another 2-3k Bytes to finish up.
I noticed that the BasicAtom 40 might work because of its larger memory. BasicMicro told me it would fit the PDB, however I find that their chip won't program. Their forum said the problem was probably the series 0.1 uf cap at pin 4 DTR and I should jumper it.
Problem is I can't find it w/out a schematic. I also couldn't find it by probing around Pin 4 either. Maybe it's not even there on the PDB?
Can you give me some suggestions.:
How to get the BasicMicro in the programming mode? OR
Options that would help me stay in the Stamp family.
Thanks to all you Geniuses
A beginner,
Austin
Comments
Why not post your BS2P40 program.
There are many tricks to make programs smaller.
Perhaps someone can help you.
Bean.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheap 4-digit LED display with driver IC·www.hc4led.com
Low power SD Data Logger www.sddatalogger.com
"You're braver than you believe, stronger than you seem, and smarter than you think" Christopher Robin to Pooh
·
Were you using more than one program slot?
(I'm betting that you didn't)
If so, just splitting up the program and separating out the initialisation parts should give you more than enough programming space.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
Yeah, I can't find the capacitors either.· Maybe they're not there?
I really appreciate the revelation(s) about slots. I will go back and split up the segments. As I see it, I will put the init of the keypad in one slot, Data input, then Memkey in another, Little step-U's in another and the execution in another. With that said, Which slot should be used for the execution? Last one used or slot 0? I am using scratch pad RAM for storing most of the VAR's. I am storing words so I am using only the even number locations. That make sense?
Slots: As I read it, one can't jump around like a goto and return to a location in slot 1 and return to the slot 0 position called from. Ergo, program flow must be considered.
Thanks for the offers of help but I want to work it myself but hold out for help when stumped. The only thing I am really having trouble with right now is using memkey for multi digit input. How does one collect a 3 digit input from the keypad. I have tried all the code I could find on the net (which isn't much). I have wondered if it's the way that memkey is initally set up.
Austin
I don't know if you want to hear from a kid (I'm only 60 yo) but here is a link to the "ultimate method" of doing cross-bank "calls". Anything short of this is simplicity itself, if you follow the rules below.
http://www.emesystems.com/BS2SX.htm#Crossbank
Here are the "simple" rules. Ther is no pre-determined return from a cross-bank "call" (RUN X), thus, unless you prepare for the return, the only intelligent thing you can do is:
1a. Follow a pre-determined sequence: 1,2,3 or 1, 3, 5, 2, 4, 6. You need to determine (by a counter or otherwise) which routines have been completed.
or perhaps
1b. Use Slot 0 as your "main routine" and "call" the subordinate routines as you see fit:
Slot 1:
Main processing:
If this condition then RUN 1 'Condition one is reset in the Slot One routine
If that condition then RUN 2 'Condition two is reset in the Slot Two routine
Etc.
- - -
I think you get the idea there.
2. MOST IMPORTANT !!! I can not emphasize this enough. Your data declarations (SIZE and relative location) MUST BE IDENTICAL IN ALL SLOTS!! If not, you will be searching for the nearest source of Rogane!
The absolute easiest easiest way to do this is to "copy and paste" between slots.
Hope that helps.
Regards,
Bruce Bates
Post Edited (Bruce Bates) : 8/23/2006 12:31:48 PM GMT