I've moved up from 16f877 to 18f452 and want/need to take advantage of all that ram in the 18f parts. I d/l and printed all of the data sheet. I know there is some 16 bit pointer registers, but I don't quite know what to do with them.
What are the ways to get to the 16 banks of ram?
I tried changing the BSR bits, but that didn't seem to work. I'm not using any includes so I don't know if that is not defined or what. It compiled without errors.
------
For a little bit more background:
- I'm using 256 variables on a 16f877. I'm have 16 sets of 16 variables. Push one of 16 buttons and see that set of 16 numbers on an LCD.
- I had this working using JAL (thanks Wouter), but was having a hard time wrapping my head around JAL and some of its limitations.
- I moved to PBP. Cool! This stuff rocks! Whipped out some code... smaller, easier to read than JAL, but PBP uses more ram so I could no longer have 256 variables. (Kinda cool though - I would push a button, see a new set of 16 and some of them would be counting.Gee, that must be my program loop variables taking the same spot as my data variables. Fun that I could watch my program variables change, BUT NOT WHAT I HAD IN MIND.)
- Getting 256 variable out of a 16f877 that only has 384 bytes of ram is kinda tight.
- Onward to the 18f452. Ah... 16*256 bytes of ram. Now, how do I get at them?
Thanks - Robert
http://www.bitwranglers.com/rshanks/seq_run1.jpg
Bookmarks