我想在2812的flash里存比较大的数组,程序运行时查询数组里的值。于是定义了.tired类型,存储在FLASHB中,map里显示FLASHB中确实被占用。
——-cmd指令—————————–
.tired : > FLASHB PAGE = 1
———–主函数开头方式1——————-
#pragma DATA_SECTION(tiredata1,".tired");
const int tiredata1[1000]={5255,55525};
结果数组的前两个元素可以赋值为整数,但不能赋值为Q格式数。
———–主函数开头方式2——————-
#pragma DATA_SECTION(tiredata1,".tired");
_iq15 tiredata1[1000]={5255.6,55525.6};
结果数组的前两个元素没有赋初值,均为flash擦写后的0XFFFFFFFF
1请问用CCS烧程序时给flash赋值,需不需要在声明的数组前面加const?
2请问声明变量的时候可不可以用Q格式数据?
mangui zhang:
定义变量不存在Q的说法
你存入程序的数组有没有被调用啊 是不是被优化了
我想在2812的flash里存比较大的数组,程序运行时查询数组里的值。于是定义了.tired类型,存储在FLASHB中,map里显示FLASHB中确实被占用。
——-cmd指令—————————–
.tired : > FLASHB PAGE = 1
———–主函数开头方式1——————-
#pragma DATA_SECTION(tiredata1,".tired");
const int tiredata1[1000]={5255,55525};
结果数组的前两个元素可以赋值为整数,但不能赋值为Q格式数。
———–主函数开头方式2——————-
#pragma DATA_SECTION(tiredata1,".tired");
_iq15 tiredata1[1000]={5255.6,55525.6};
结果数组的前两个元素没有赋初值,均为flash擦写后的0XFFFFFFFF
1请问用CCS烧程序时给flash赋值,需不需要在声明的数组前面加const?
2请问声明变量的时候可不可以用Q格式数据?
user4415751:
回复 mangui zhang:
你好!
1,我在变量定义之前加了violate,现象还是一样
2.如果定义violate const _iq data[2]={0.4,0.6}(data存储在flash中),那么我在expression里看到的是第一个元素赋值为0,第二个元素赋值为1,估计是四舍五入。我有一些浮点数据,想要存在flash里面,一定要自己先把这个数据转换成定点再以unsigned long存进去么?
我想在2812的flash里存比较大的数组,程序运行时查询数组里的值。于是定义了.tired类型,存储在FLASHB中,map里显示FLASHB中确实被占用。
——-cmd指令—————————–
.tired : > FLASHB PAGE = 1
———–主函数开头方式1——————-
#pragma DATA_SECTION(tiredata1,".tired");
const int tiredata1[1000]={5255,55525};
结果数组的前两个元素可以赋值为整数,但不能赋值为Q格式数。
———–主函数开头方式2——————-
#pragma DATA_SECTION(tiredata1,".tired");
_iq15 tiredata1[1000]={5255.6,55525.6};
结果数组的前两个元素没有赋初值,均为flash擦写后的0XFFFFFFFF
1请问用CCS烧程序时给flash赋值,需不需要在声明的数组前面加const?
2请问声明变量的时候可不可以用Q格式数据?
Young Hu:
回复 user4415751:
要加强制格式转换。
violate const _iq data[2]={_IQ(0.4),_IQ(0.6)}