TI论坛
直播中

吴娜

7年用户 192经验值
私信 关注
[问答]

请问28069的CLA不支持数据类型转换吗?

Uint32 ulValue;
long  lValue;
// 执行下面的语句之后 ulValude = 0x0FFF 0FFF, 而不是0x0FFF
ulValue = AdcResult.ADCRESULT8;  // AdcResult.ADCRESULT8的值为0x0FFF;
// 执行下面的语句之后lValue = 0
lValue = AdcResult.ADCRESULT8;  // AdcResult.ADCRESULT8的值为0x0FFF;
难道28069的CLA不支持数据类型转换吗?或者需要做什么配置?

回帖(1)

冯敬宇

2018-12-17 15:04:37
Uint32 ulValue;
long  lValue;
// 执行下面的语句之后 ulValude = 0x0FFF 0FFF, 而不是0x0FFF
ulValue = AdcResult.ADCRESULT8;  // AdcResult.ADCRESULT8的值为0x0FFF;
// 执行下面的语句之后lValue = 0
lValue = AdcResult.ADCRESULT8;  // AdcResult.ADCRESULT8的值为0x0FFF;
难道28069的CLA不支持数据类型转换吗?或者需要做什么配置?

Eric:
CLA architecture is designed for 32-bit data types
16-bit computations incur overhead for sign-extension
Primarily used for reading and writing to 16-bit
peripheral registers
TYPE            CPU            CLA
char, short    16 bit          16 bit
int                 16 bit           32 bit
long              32 bit           32 bit
long long       64 bit           32 bit
float, double  32 bit           32 bit
long double   64 bit           32 bit
pointers         32 bit           16 bit
加强制类型转换:
xDelay[0] = (float32)AdcResult.ADCRESULT0;



                                                                         - ERIC
举报

更多回帖

发帖
×
20
完善资料,
赚取积分