当前位置:  开发笔记 > 编程语言 > 正文

如何在MPLAB中增加内存块的大小?

如何解决《如何在MPLAB中增加内存块的大小?》经验,为你挑选了1个好方法。

Microchip PIC MPLAB(MCC18)编译器将其存储器分为256个块(0x100).

如何创建大于256字节的数组?

char buffer[256];

为了达到256,我需要制作一个单独的片段 #pragma

#pragma udata segment_name
char buffer[256];
#pragma udata

所以我可以强制MCC18让我们分配更大的缓冲区?或组合两个内存段?



1> Justin Tanne..:

粘贴答案来自:

http://forum.microchip.com/printable.aspx?m=39357

以防万一它消失了.

在三个简单的步骤中步骤1:将变量分配到源代码中的命名部分:

#pragma udata big_scn
char big_array[0x180];
#pragma udata

第2步:在链接描述文件中创建更大的区域:之前:

DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=gpr4 START=0x400 END=0x4FF

后:

DATABANK NAME=big_scn START=0x300 END=0x47F PROTECTED
DATABANK NAME=gpr4    START=0x480 END=0x4FF
SECTION  NAME=big_scn RAM=big_scn

第3步:仅通过指针引用:

char *big_array_ptr = &big_array[0];
big_array_ptr[0x100] = 5;
while( big_array_ptr[x] != 20 )

注意:我相信您仍然可以直接引用数组而不是使用指针.似乎为我工作.

相同的信息可以在以下文档中找到:

"MPLAB C18 C编译器入门指南"

第104页.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有