打印
[应用相关]

请问:怎么定义一个在代码中的数组?

[复制链接]
2819|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 | 只看该作者

const

使用特权

评论回复
板凳
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 | 只看该作者

奥,不错,谢谢楼上两位

使用特权

评论回复
5
zcl_l|  楼主 | 2008-12-9 16:09 | 只看该作者

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

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

使用特权

评论回复
6
xxlest| | 2008-12-12 21:53 | 只看该作者

const只是定义为常数吧

const只是定义为常数吧,并不是真正把数组放在code区
我碰到个问题就是要把数组定义到code区,函数调用时只需要传其地址进来,但用const无法去地址 如 const u8 Z[]={},  进行&z[0]操作错误的 如何实现 高手来指点下

使用特权

评论回复
7
原野之狼| | 2008-12-12 21:57 | 只看该作者

IAR我不懂

在GCC里,用CONST是不管用的,需要用库文件里的宏,这样才能实现CONST型变量的生命,以及读操作。
或许IAR也是这样,你可以查看一下安装目录下的头文件啊~~

使用特权

评论回复
8
computer00| | 2008-12-12 22:08 | 只看该作者

强制类型转换

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

97

帖子

1

粉丝