处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
shen lee:
追加:
且float32 temp,corr_f_sum,corr_am_sum *p;的话只有p 有效 其他无效
处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
shen lee:
回复 Forrest:
您说的这个 我早上已经找到答案了 谢谢,但是有一个问题:
函数中声明好几个float32型的数据,但在CCS 中观察变量 无论是local 还是全局 都只能看到一个, 这是何解啊?谢谢
处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
shen lee:
回复 shen lee:
局部变量没法看,何解,求教。。
处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
shen lee:
回复 Forrest:
您好,我理解您的意思。这些变量确实用到了,而且是进入函数中观察的变量 。编译器设置 0 级优化。之前还可以看后来可能动了CCS的某些设置导致的。
谢谢
处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
Young Hu:
回复 shen lee:
局部变量,只有在进入了局部变量所在的子程序的时候,才会给局部变量分配地址。所以就像Forrest说的。
处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
shen lee:
回复 Young Hu:
谢谢你的回答,还是没什么结果。还是谢谢你
处理器是F28335 CCSv4
void foo()
{
static uint64_t sum_A;
sum_A = 1326 * 1326;
}
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
Forrest:
回复 shen lee:
再试试下面的办法,楼主如果找到原因,请分享一下。
删除workspace,重新新建一个project导入这些设置,还是不行吗?有能够反映这个问题的project没?传上来我看看。
一般如果在使用CCS的时候碰到莫名问题,删除workspace会是一个很好的办法。