TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS3.3watch窗口和memory窗口无法观察到变量的变化

软件为CCS3.3,芯片采用tms320f2802,仿真器为SEED XDS 510PLUS。

状况描述:在使用在线调试的时候,从ADC的结果寄存器中读取采样数值,然后赋值给全局变量VoltSample,在memory窗口和watch窗口中分别观察ADC的RESULT寄存器的数值和全局变量VoltSample的数值。程序运行到赋值语句处,可以从Memory窗口和watch窗口中看到Result寄存器内的数值变化,但是全局变量VoltSample的值始终是0,没有改变。增加代码 VoltSample = 1;if( VoltSaple == 1) VoltSample =2;进行测试,在仿真调试的时候确实进入到了if的条件判断中,并且执行了语句VoltSample = 2;但是该全局变量数值的变化在watch窗口和Memory窗口中始终是0,没有任何变化。而抛开仿真器,控制板直接上电运行的效果则可以看出,VoltSample实际上是被成功赋值的,只是在线仿真的Memory窗口和watch窗口中没有显示出变化。但是,局部变量的变化和寄存器的变化都是可以在观察窗口中体现出来的。

问题:出现这种情况是什么原因,如何解决?调试看不到变量值很多地方无法进行下去,寻求帮助。

Eric Ma:

仿真暂停的时候这些全局变量有没有变化啊?

或是你单步跑试试。

另外建议升级到CCS6.

ERIC

软件为CCS3.3,芯片采用tms320f2802,仿真器为SEED XDS 510PLUS。

状况描述:在使用在线调试的时候,从ADC的结果寄存器中读取采样数值,然后赋值给全局变量VoltSample,在memory窗口和watch窗口中分别观察ADC的RESULT寄存器的数值和全局变量VoltSample的数值。程序运行到赋值语句处,可以从Memory窗口和watch窗口中看到Result寄存器内的数值变化,但是全局变量VoltSample的值始终是0,没有改变。增加代码 VoltSample = 1;if( VoltSaple == 1) VoltSample =2;进行测试,在仿真调试的时候确实进入到了if的条件判断中,并且执行了语句VoltSample = 2;但是该全局变量数值的变化在watch窗口和Memory窗口中始终是0,没有任何变化。而抛开仿真器,控制板直接上电运行的效果则可以看出,VoltSample实际上是被成功赋值的,只是在线仿真的Memory窗口和watch窗口中没有显示出变化。但是,局部变量的变化和寄存器的变化都是可以在观察窗口中体现出来的。

问题:出现这种情况是什么原因,如何解决?调试看不到变量值很多地方无法进行下去,寻求帮助。

Jason Wu4:

在全局变量执行语句前后分别设定断点运行查看即可。

赞(0)
未经允许不得转载:TI中文支持网 » CCS3.3watch窗口和memory窗口无法观察到变量的变化
分享到: 更多 (0)