Shop OBEX P1 Docs P2 Docs Learn Events
Using the BasicMicro 40 pin on the PDB — Parallax Forums

Using the BasicMicro 40 pin on the PDB

AustinAustin Posts: 10
edited 2006-08-23 12:23 in BASIC Stamp
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

Comments

  • BeanBean Posts: 8,129
    edited 2006-08-22 21:55
    If you change the circuits on the PDB there is a good chance the BS2 device won't program on it.
    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
    ·
  • GadgetmanGadgetman Posts: 2,436
    edited 2006-08-22 21:55
    I can't see any way that your program should have fileld the available memory of the BS2P40.

    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 SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-08-22 22:34
    As Gadgetman was getting at, there are 8 slots of program memory on the BS2p40...I too am wondering if you were using them all.· Also, are you using the ScratchPad RAM to store values?·

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • allanlane5allanlane5 Posts: 3,815
    edited 2006-08-22 22:34
    You mean like the schematic on this page? http://www.parallax.com/detail.asp?product_id=28138

    Yeah, I can't find the capacitors either.· Maybe they're not there?
  • AustinAustin Posts: 10
    edited 2006-08-23 11:50
    Thanks so much for everyone's input. Of course I'm not using the slots. I'm not smart enough to have known that at this point. After all fellows, I'm 75 and working with deminished brain capacity (it seems at times).

    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
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2006-08-23 12:23
    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! smile.gif

    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
Sign In or Register to comment.