maomaomao007 发表于 2011-10-4 20:44:59

keil static声明全局变量 调试时是不能把变量放到watch窗口的吗

/*-------------------声明时钟设定界面的数据结构-----------------*/
static idata structRTC_SET_DATA
{
        U8dispCoordinates; //设定时钟时输入数值在lcd上的显示坐标
        U8saveDecDate;        //设定时钟时输入数值保存数组(十进制),两位数结构:例如{十秒位,个秒位}
};

/*-------------------定义时钟设定界面的数据结构-----------------*/
static idata structRTC_SET_DATA SRtcSetData = {
                                                                           {0x91,{0,0} }, //小时输入框
                                                                        {0x93,{0,0} }, //分钟输入框
                                                                        {0x95,{0,0} }, //秒输入框
                                                                        {0x89,{0,0} }, //年输入框
                                                                        {0x8b,{0,0} }, //月输入框
                                                                        {0x8d,{0,0} }, //日输入框
                                                                        {0x9b,{0,0} } //周输入框
                                                           };
问题1:
我调试时想把RTC_SET_DATA SRtcSetData放到wahch 1 窗口,可是出现了如图的提示:
http://cache.amobbs.com/bbs_upload782111/files_46/ourdev_682196CPN4V4.jpg
(原文件名:范.jpg)

问题2:如上的结构体,static是放在声明结构体static idata structRTC_SET_DATA
{
        U8dispCoordinates; //设定时钟时输入数值在lcd上的显示坐标
        U8saveDecDate;        //设定时钟时输入数值保存数组(十进制),两位数结构:例如{十秒位,个秒位}
};
的前面,还是放在定义处static idata structRTC_SET_DATA SRtcSetData = {
                                                                           {0x91,{0,0} }, //小时输入框
                                                                        {0x93,{0,0} }, //分钟输入框
                                                                        {0x95,{0,0} }, //秒输入框
                                                                        {0x89,{0,0} }, //年输入框
                                                                        {0x8b,{0,0} }, //月输入框
                                                                        {0x8d,{0,0} }, //日输入框
                                                                        {0x9b,{0,0} } //周输入框
                                                           };
的前面,还是像上面这样,两个地方都要写static??

maomaomao007 发表于 2011-10-4 21:16:15

回复【楼主位】maomaomao007 小马驹
第一个问题,我做了个小程序,明白了,原来要调试到了本模块才能添加,,,,第二个问题还在犯迷糊....

Pony279 发表于 2011-10-5 02:38:52

放在定义处就行了

jiandandewenzi 发表于 2012-10-26 18:15:20

如果在要观察的变量地方放断点的化观察不到变化情况啊,全局变量从始至终都存在于内存,怎么会观察不到呢?
页: [1]
查看完整版本: keil static声明全局变量 调试时是不能把变量放到watch窗口的吗