打印

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

[复制链接]
4742|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我用了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的规定了。

使用特权

评论回复
5
machunshui| | 2009-9-29 13:46 | 只看该作者
unsigned char ?

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


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

一般二者是等同的

使用特权

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

使用特权

评论回复
7
machunshui| | 2009-9-29 21:39 | 只看该作者
"定义全局数组变量时,一定要在程序执行时再初始化一遍,"

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

pic.JPG (106.83 KB )

pic.JPG

使用特权

评论回复
8
machunshui| | 2009-9-29 22:08 | 只看该作者
"定义全局数组变量时,一定要在程序执行时再初始化一遍,"经验证,定义时,直接初始化没有问题

使用特权

评论回复
9
hbsun| | 2009-9-30 09:16 | 只看该作者
file:///C:/Documents 谢谢LS的图片,你的好像是可以
但是我的经验证,编译器确实不行~~~~~~~~
版本问题?

使用特权

评论回复
10
hbsun| | 2009-9-30 09:20 | 只看该作者
图贴 不上?

使用特权

评论回复
11
machunshui| | 2009-9-30 11:43 | 只看该作者
咋这么多人,使用工具的时候,不开动脑筋呢?

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

右击watch窗口中要观察的变量,format栏选格式HEX

使用特权

评论回复
12
hbsun2007|  楼主 | 2009-9-30 13:45 | 只看该作者
呵呵,谢谢关心,好像真的没用哎!你可以看一下,上面的图已经用局部变量i,j,k等读出了部分全局变量定义的初值,除了在mian中重新赋值的flag=0xa5;m=flag;m为0XA5外正确其他值都为0,这跟格式没关系吧,我的程序用仿真是运行到while(1)的

使用特权

评论回复
13
hbsun2007|  楼主 | 2009-9-30 13:50 | 只看该作者
这样是像你所说的吗?我是刚学PICC的,可能比较愚钝,呵呵

使用特权

评论回复
14
machunshui| | 2009-9-30 14:57 | 只看该作者
上图,mplab8.36版本

pic02.JPG (125.39 KB )

pic02.JPG

使用特权

评论回复
15
machunshui| | 2009-9-30 14:58 | 只看该作者
楼主的8.30版本,应该也不会有问题啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

87

帖子

0

粉丝