搜索
bottom↓
回复: 4

51平台下,全局变量初始化问题

[复制链接]

出0入0汤圆

发表于 2011-6-10 14:25:21 | 显示全部楼层 |阅读模式
各位大侠,真心求教:
51平台下,全局变量初始化问题??

问题描述:
typedef xdata unsigned char                xBYTE;        //1字节

在文件test.c里这样定义并初始化一个全局数组:
static xBYTE uploadList_test[10] = {
        0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
};
然后在上电进入mian函数(main函数和test.c不是同一个文件)的时候调用test.c里的打印函数打印出变量uploadList_test的值,发现uploadList_test没有值。

51扩成了5个bank的,keil编译器中当把test.c放在comment区和bank4的时候用上述操作打出来是有值的,但是test.c放在bank0~bank3的时候打出来发现没有值!!!但是查看编译后的编译文件uploadList_test是已经有值了,是STARTUP.A51这个文件有问题吗??

问题补充:上述定义改成static code xBYTE uploadList_test[10]={........}直接从rom里面读数据打出来是有值的,但是改成 static const xBYTE uploadList_test[10]={........}打出来也没有值!!

这是怎么回事呢???

出0入0汤圆

 楼主| 发表于 2011-6-16 15:13:40 | 显示全部楼层
回复【楼主位】xmy2007415
-----------------------------------------------------------------------

咋么一个回复也木有??(⊙o⊙)回复【楼主位】xmy2007415

出0入0汤圆

 楼主| 发表于 2011-6-17 10:47:06 | 显示全部楼层
大虾们都忙去啦吗?

出0入0汤圆

发表于 2011-6-17 11:37:47 | 显示全部楼层
定义数组的时候不要初始化,把赋初值操作放在main函数里面。

出0入0汤圆

发表于 2011-6-17 11:59:29 | 显示全部楼层
回复【3楼】Jason022
-----------------------------------------------------------------------

他那个数组是用了static定义,不能在main中操作。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 16:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表