[应用相关] 请问:怎么定义一个在代码中的数组?

[复制链接]
3611|7
 楼主| zcl_l 发表于 2008-12-6 22:37 | 显示全部楼层 |阅读模式
以前C51中这样定义的:uint code Parameter[5]={
    1660, 1040,  300,  100,   50}
现在在IAR中定义不行啊。
walnutcy 发表于 2008-12-6 23:08 | 显示全部楼层
21ele 发表于 2008-12-7 09:04 | 显示全部楼层

还可以绝对定位数组,以便进行flash擦写操作,断电保存数据

#include "absacc.h"

const vu16 Parameter[512] __at (EE_Addr_DEF) = 
{
};
 楼主| zcl_l 发表于 2008-12-9 16:04 | 显示全部楼层

奥,不错,谢谢楼上两位

 楼主| zcl_l 发表于 2008-12-9 16:09 | 显示全部楼层

还有一个问题:怎样把字数组变成字节数组?

TO: 21ele 就这样定义const vu16 Parameter[512],可是我想把它们发送到SPI FLASH保存,例程Flash 写是按照字节数组编的,字节数组发送方便。这就遇到字数组转成字节数组的问题,有没有好办法呢? 
xxlest 发表于 2008-12-12 21:53 | 显示全部楼层

const只是定义为常数吧

const只是定义为常数吧,并不是真正把数组放在code区
我碰到个问题就是要把数组定义到code区,函数调用时只需要传其地址进来,但用const无法去地址 如 const u8 Z[]={},  进行&z[0]操作错误的 如何实现 高手来指点下
原野之狼 发表于 2008-12-12 21:57 | 显示全部楼层

IAR我不懂

在GCC里,用CONST是不管用的,需要用库文件里的宏,这样才能实现CONST型变量的生命,以及读操作。
或许IAR也是这样,你可以查看一下安装目录下的头文件啊~~
computer00 发表于 2008-12-12 22:08 | 显示全部楼层

强制类型转换

您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

97

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部