|
|
View previous topic :: View next topic |
Author |
Message |
Sirio Guest
|
Buffer lenght limitation |
Posted: Wed Aug 31, 2005 9:26 am |
|
|
Hi,
I'm working on a PIC16F676A and I've got some problems with a declaration of 2 buffer, this is what I need:
Quote: |
unsigned int8 buffer1[100];
unsigned int8 buffer2[100];
|
The ccs compiler say that I'have not enough RAM, this is true cause I've other variables declaration.
The strange thing is that this work:
Quote: |
unsigned int8 buffer1[88];
unsigned int8 buffer2[20];
|
and this doesn't work:
Quote: |
unsigned int8 buffer1[98];
unsigned int8 buffer2[10];
|
Ther is a buffer lenght limitation for this family or something similar?
(if I compile the 2 buffer of 100 elemets for a PIC18 family everything is ok).
Sorry for my bad english and thanx for your attention.
Best regards. |
|
|
Ttelmah Guest
|
|
Posted: Wed Aug 31, 2005 10:00 am |
|
|
The problem is the way the RAM is organised in the 876. A declaration like this, requires a continuous block of memory. the 876, has 96 bytes in the first page as one block, and then 80 bytes in the second page, 96 in the third, and 96 in the fourth. The two latter blocks can each potentially ue another 16 locations (to give 114 bytes in one lump), but only one of them can do this (the extra locations are 'shared' between all the banks), and then the size of block available in the first bank drops to only 80 bytes.
So the 876, cannot have two continuous blocks of 100 memory locations allocated at once.
You _should_ be able to allocate two 96 byte buffers at th same time.
the 18F family, have all the I/O registers mapped seperately at the top of memory, ad can use the available RAM in one large lump.
Best Wishes |
|
|
Sirio Guest
|
|
Posted: Thu Sep 01, 2005 8:14 am |
|
|
Thank you very much. |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|