打印

为什么在MPLAB中看不到自己定义的变量

[复制链接]
5292|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
21ID|  楼主 | 2009-9-19 13:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 21ID 于 2009-9-19 13:49 编辑

我用的是MPLAB7.5+PICC9.65

怎么看不到自己定义的变量,在symbol下输入自己定义的变量,提示没有找到

symbol下只有111图所示


那个B_Light是个位变量,PIC单片机把位变量组成一个字存放的,所以会看不到。是不是这样的?

111.jpg (50.06 KB )

111.jpg

222.jpg (5.67 KB )

222.jpg
沙发
chen3bing| | 2009-9-19 14:29 | 只看该作者
不是这样的。
不过我也不知道为什么。
我试了一下,定义的位变量可以显示,但值显示不了。

4.JPG (24.22 KB )

4.JPG

使用特权

评论回复
板凳
yewuyi| | 2009-9-19 14:53 | 只看该作者
想要看到的话,可以使用结构方式定义,如下:


#define              ERRroomsensor        sysflag.bit0
#define              ERRdoorsingle        sysflag.bit1
#define              ERRrH                sysflag.bit2
#define              ERRrL                sysflag.bit3
#define              screenflash          sysflag.bit4
#define              exitbuzzer           sysflag.bit5
#define              cooldelayend         sysflag.bit6
#define              coolledflash         sysflag.bit7
#define              sys_osc_tip          sysflag.bit8
#define              write_eeprom         sysflag.bit9
typedef              struct               BYTE_BIT
{     
uchar                bit0:1;
uchar                bit1:1;
uchar                bit2:1;
uchar                bit3:1;
uchar                bit4:1;
uchar                bit5:1;
uchar                bit6:1;
uchar                bit7:1;
uchar                bit8:1;
uchar                bit9:1;
}BYTEBIT;

使用特权

评论回复
地板
chen3bing| | 2009-9-19 15:22 | 只看该作者
学习了。

使用特权

评论回复
5
21ID|  楼主 | 2009-9-19 15:29 | 只看该作者
想要看到的话,可以使用结构方式定义,如下:


#define              ERRroomsensor        sysflag.bit0
#define              ERRdoorsingle        sysflag.bit1
#define              ERRrH                sys ...
yewuyi 发表于 2009-9-19 14:53
完整的定义有吗?我复制上面的代码进去有错误。

使用特权

评论回复
6
chen3bing| | 2009-9-19 15:37 | 只看该作者
不会吧,有什么错误?
我复制了没错误。

使用特权

评论回复
7
21ID|  楼主 | 2009-9-19 20:18 | 只看该作者
就把上面的复制进去没有错误吗

使用特权

评论回复
8
chen3bing| | 2009-9-19 20:39 | 只看该作者
没有。

使用特权

评论回复
9
21ID|  楼主 | 2009-9-23 12:18 | 只看该作者
其实是可以看到的

111.jpg (20.81 KB )

111.jpg

使用特权

评论回复
10
pjss| | 2009-9-23 14:33 | 只看该作者
学习了

使用特权

评论回复
11
portx| | 2009-11-24 13:59 | 只看该作者
如果定义的是局部变量的话应该在此变量赋值后插入一个断点才能观察得到。多数C编译器会将局部变量隐藏称为一个公共变量来使用,只有在被调用的时候才会将属性置为显性。其他的时候是有其他函数共同使用的所以状态为未知

使用特权

评论回复
12
leofoolish| | 2009-11-27 09:47 | 只看该作者
和你变量的类型有关系,volatile类型的PICC是不显示的.

使用特权

评论回复
13
牛牛特工| | 2009-11-30 19:17 | 只看该作者
呵呵~~

使用特权

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

本版积分规则

157

主题

912

帖子

5

粉丝