这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [ok]数组声明为全局变量的问题?

共3条 1/1 1 跳转至

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

菜鸟
2008-07-25 11:49:40     打赏
如何将数组声明为全局变量?
在函数体外声明了全局变量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:19     打赏
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:09     打赏
3楼

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


共3条 1/1 1 跳转至

回复

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