请教有关PICC编译器的全局变量问题

[复制链接]
6011|14
 楼主| hbsun2007 发表于 2009-9-28 15:45 | 显示全部楼层 |阅读模式
我用了PICC编译环境,发觉跟普通的C有差异,但得不到解决办法
比如我定义一个全局变量的数组采用C当中常用的
uchar TAB[]={0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
当我引用时发觉TAB[0]并不等于0X3F,改成CONST uchar TAB[]={0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};引用发觉TAB[0]等于0X3F,可问题是我在下面的程序中要对TAB数组进行修改,而CONST是不允许修改的
如果写成BANK0  TAB[]={0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};编译器会报错,“missing basic type; int assumed”
我也试了用VOLATILE,STATIC来修饰,也没用,请教各位,PICC环境里没有这种全局变量定义方式吗?大家在应用中是如何解决的?
machunshui 发表于 2009-9-28 23:29 | 显示全部楼层
PICC

unsigned char TAB[] = {.........};

初始化赋值 没有问题.
hsw_21 发表于 2009-9-29 08:52 | 显示全部楼层
unsigned char ?

uchar?
yewuyi 发表于 2009-9-29 13:13 | 显示全部楼层
BANK0   unsigned char     TAB[]={0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

如果RAM页面够不需要分页的话,就不需要BANK的规定了。
machunshui 发表于 2009-9-29 13:46 | 显示全部楼层
unsigned char ?

uchar?
hsw_21 发表于 2009-9-29 08:52


uchar 并非标准的C语言数据类型,
一般都是 typedef unsigned char  uchar

一般二者是等同的
 楼主| hbsun2007 发表于 2009-9-29 18:07 | 显示全部楼层
谢谢各位关心,不好意思,我写程序时一般在#include下一行会写#define uchar unsigned char ,没能列出来造成误解,不好意思~
总的来说我好像找到原因了,定义全局数组变量时,一定要在程序执行时再初始化一遍,这个可能是编译器的原因吧,不知是我没仔细研读PICC编译器文档,还是他指出了我没看到,反正当我在初始化程序中再初始化一次程序就完全正常了
machunshui 发表于 2009-9-29 21:39 | 显示全部楼层
"定义全局数组变量时,一定要在程序执行时再初始化一遍,"

经验证,定义时,直接初始化没有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
machunshui 发表于 2009-9-29 22:08 | 显示全部楼层
"定义全局数组变量时,一定要在程序执行时再初始化一遍,"经验证,定义时,直接初始化没有问题
hbsun 发表于 2009-9-30 09:16 | 显示全部楼层
file:///C:/Documents 谢谢LS的图片,你的好像是可以
但是我的经验证,编译器确实不行~~~~~~~~
版本问题?
hbsun 发表于 2009-9-30 09:20 | 显示全部楼层
图贴不上?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
machunshui 发表于 2009-9-30 11:43 | 显示全部楼层
咋这么多人,使用工具的时候,不开动脑筋呢?

楼主按以下步骤做,保证管用:

右击watch窗口中要观察的变量,format栏选格式HEX
 楼主| hbsun2007 发表于 2009-9-30 13:45 | 显示全部楼层
呵呵,谢谢关心,好像真的没用哎!你可以看一下,上面的图已经用局部变量i,j,k等读出了部分全局变量定义的初值,除了在mian中重新赋值的flag=0xa5;m=flag;m为0XA5外正确其他值都为0,这跟格式没关系吧,我的程序用仿真是运行到while(1)的
 楼主| hbsun2007 发表于 2009-9-30 13:50 | 显示全部楼层
这样是像你所说的吗?我是刚学PICC的,可能比较愚钝,呵呵

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
machunshui 发表于 2009-9-30 14:57 | 显示全部楼层
上图,mplab8.36版本

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
machunshui 发表于 2009-9-30 14:58 | 显示全部楼层
楼主的8.30版本,应该也不会有问题啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

87

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部