打印
[STM8]

急!没搞懂怎样定义数组到代码中,像C51中的code

[复制链接]
2868|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gmgmgm|  楼主 | 2014-4-30 15:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gmgmgm 于 2014-4-30 17:09 编辑

网上搜了下stm8定义数组到代码中,没搞懂具体要怎样定义;像C51 中的 unsigned char code no[]={0,0,0,0}

只看到有人说用 const  但很含糊,没有找到具体的定方法:

@near unsigned char no[]={0,0,0,0}  这句需要怎样改动才能让这数组定义到代码中?谢谢

补充下,我用的是STVD编译
沙发
今夜雨寒| | 2014-4-30 15:47 | 只看该作者
定义到代码里?你想问 存放在位置吧?

使用特权

评论回复
板凳
guangbiao| | 2014-4-30 15:53 | 只看该作者
你这个编译环境我没有使用过,你最好看编译环境的帮助文件,那里面肯定有说明的。

使用特权

评论回复
地板
dld2| | 2014-4-30 15:57 | 只看该作者
const

使用特权

评论回复
5
gmgmgm|  楼主 | 2014-4-30 16:09 | 只看该作者
dld2 发表于 2014-4-30 15:57
const

unsigned char code no[]={0,0,0,0}

const 用这个字句怎改动上面那一句定义?

使用特权

评论回复
6
gmgmgm|  楼主 | 2014-4-30 17:08 | 只看该作者
@mmuuss586 请教啊,因为我的源程序从C51移植过来,数组必须要将它放到程序代码去,看我下面编译结果,明显数组超过了4K RAM的空间了

使用特权

评论回复
7
mmuuss586| | 2014-4-30 17:09 | 只看该作者
const   unsigned char code no[]={0,0,0,0};

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
lyc613 + 1 这句话在h文件里写也是不对的。。必须写在c.
8
wallace_tsou| | 2014-4-30 17:12 | 只看该作者
code改为const

使用特权

评论回复
9
gcxzhz| | 2014-4-30 21:07 | 只看该作者
const  可以将代码存储在flash中  见我的帖子
https://bbs.21ic.com/icview-700722-1-3.html
在函数中引用时强制转换为 指针

使用特权

评论回复
10
gcxzhz| | 2014-4-30 21:21 | 只看该作者
本帖最后由 gcxzhz 于 2014-4-30 21:22 编辑

#define  x_size (sizeof(x)/sizeof(x[0])) //宏定义求得字模 数组里的个
const uint16_t x[] =
{
0x8FFF,0x07FF,0x03FE,0x03FC,0x03F8,0x07F0,0x0FE0,0x1FC0,0x0FE0,0x07F0,0x03F8,0x03FC,0x03FE,0x07FF,0x8FFF,0xFFFF//"心型",0/* (16 X 16 ) */};
};

review((uint16_t *)x,x_size,32,112,1);     

(uint16_t *)x 使用的时候强制转换为指针   

使用特权

评论回复
11
gmgmgm|  楼主 | 2014-5-19 21:48 | 只看该作者
wallace_tsou 发表于 2014-4-30 17:12
code改为const

谢谢这位师兄,正如你说的方法修改成功了

使用特权

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

本版积分规则

135

主题

766

帖子

2

粉丝