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

使用CCS memory browser的问题

我使用了F28069进行开发学习,进行了内部温度传感器的采集实验。

但是使用memory browser时候,遇到了如下问题。

在int16 GetTemperatureC(int16 sensorSample)函数中, getTempOffset()和getTempSlope()可以得到rom存储的数据。

// The folloing pointers to function calls are:
//Slope of temperature sensor (deg. C / ADC code). Stored in fixed point Q15 format.
#define getTempSlope() (*(int (*)(void))0x3D7E82)()
//ADC code corresponding to temperature sensor output at 0 deg. C
#define getTempOffset() (*(int (*)(void))0x3D7E85)()

我观察了getTempOffset()和getTempSlope()两个数值,如下

int16 GetTemperatureC(int16 sensorSample)
{
slope = getTempSlope();
offset = getTempOffset();
return ((sensorSample – getTempOffset())*(int32)getTempSlope() + FP_ROUND + KELVIN_OFF)/FP_SCALE – KELVIN;
}

在expression看到slope为5568,即0x15c0;offset为0x680.

但是我使用memory browser观察0x3D7E82,

得到如下结果:

但是我使用memory browser观察0x3D7E85,

得到如下结果:

指定地址并不是正确的数据,后面一个却是对的。

请问是为什么呀?

jiliang zhang:

#define getTempSlope() (*(int (*)(void))0x3D7E82)()

0x3D7E82这很明显是一个函数的地址,所以你直接查看0x3D7E82位置的值肯定不对

 

赞(0)
未经允许不得转载:TI中文支持网 » 使用CCS memory browser的问题
分享到: 更多 (0)