论坛» 嵌入式开发» MCU

[ok]数组声明为全局变量的问题?

菜鸟
2008-07-25 11:49 1楼
如何将数组声明为全局变量?
在函数体外声明了全局变量unsigned char buffer[512],软件仿真时是没问题的,连接E8仿真调试时,查看buffer的内容,发现buffer中的数据无法进行赋值.,里面好象已经被初始化,并且无法更改.
用简单的程序试也不行.不知道是什么原因?哪位帮忙解决一下,谢谢!
简单的程序如下:
unsigned char array[3];
void main(void)
{
char bdata;

bdata = 10;

array[0] = 2;
array[1] = 2;
array[2] = 2;
}
菜鸟
2008-07-25 14:07 2楼

您用的是那款单片机?您的问题很可能是全局变量的地址和E8仿真器使用的RAM区冲突所至,如果是application模式建的工程,在sect30.inc文件中修改RAM的起始地址,如果是C startup建的工程,在Build->Renesas M16C Standard Toolchain->Link->Section Order下修改RAM的起始地址,避免和E8的firmware冲突,您可以试一下。

菜鸟
2008-07-25 14:54 3楼

原来是E8的问题,我将RAM起始地址改了,已解决.谢谢Drive78.

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]