Как разместить переменную в нужном мне банке?
Ответ:
[Вернуться в категорию "Вопросы и ответы по программированию на C для микроконтроллеров PIC."] По умолчанию компилятор пытается все разместить в банке 0. Конечно, это у него получается не всегда. Желательно относительно редко используемые переменные размещать в других банках. В ряде случаев места в нулевом банке просто не хватает. Например, для размещения кольцевого буфера приемника USART необходимо 64 байта, а свободно в нулевом банке всего 30 и программа еще будет писаться дальше, то есть место потребуется для не менее важных вещей. Пишем так:
#define RX_BUFF_SIZE 64 // размер приемного кольцевого буфера
unsigned char RxCount; // переменная по умолчанию в банке 0 bank1 unsigned char RxBuff[RX_BUFF_SIZE]; // переменная в банке 1
При дальнейшей работе вы обращаетесь ко всем этим переменным, не задумываясь о банках памяти, компилятор делает переключение банков за вас. [Вопросы и ответы по программированию на C для микроконтроллеров PIC.]
|