打印

51内核与STM8的变量存储区间的定义?

[复制链接]
4964|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
black.lu|  楼主 | 2010-6-22 12:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 black.lu 于 2010-6-22 12:59 编辑

像51中,对于变量的访问方式有data、idata、xdata、code;
那在IAR下的STM8的访问关键字是哪些呢?这个在51代码移植到STM8下遇到了这个
问题,虚心请教大家。

我在手册中看到四个寻址指针定义
分别是tiny、near、far、huge,那我如果快速访问前256字节区间使用tiny,是不是访问而外的768的区间就需要定义变量为near?
沙发
stm8s103| | 2010-6-22 13:42 | 只看该作者
把所有data、idata、xdata 全部去掉。
code换const

使用特权

评论回复
板凳
black.lu|  楼主 | 2010-6-22 14:03 | 只看该作者
那tiny、near、far、huge四个关键字是用来定义什么的啊?

使用特权

评论回复
地板
black.lu|  楼主 | 2010-6-22 14:15 | 只看该作者
那tiny、near、far、huge四个关键字是用来定义什么的啊? 2# stm8s103

使用特权

评论回复
5
black.lu|  楼主 | 2010-6-22 21:14 | 只看该作者
在论坛上看到一篇帖子,写了这几个区别,和我的理解相似。

使用特权

评论回复
6
gxgclg| | 2010-6-23 09:42 | 只看该作者
这些关键字我还从来没遇到过

使用特权

评论回复
7
black.lu|  楼主 | 2010-6-24 08:31 | 只看该作者
呵呵,看来我受51内核毒化太深,喜欢拿来比较,我也向ST的工程师咨询了下,其实也是访问速度不一样,类似于51的data概念,不过不用就可以,如2L所说的一样。
6# gxgclg

使用特权

评论回复
8
hsbjb| | 2010-6-24 08:47 | 只看该作者
各种处理器肯定是不一样的,习惯了就好了

使用特权

评论回复
9
lqjjdx| | 2012-4-6 10:21 | 只看该作者
:(那位变量到底如何定义哟!

使用特权

评论回复
10
香水城| | 2012-4-6 10:24 | 只看该作者
:(那位变量到底如何定义哟!
lqjjdx 发表于 2012-4-6 10:21


标准C语言里面没有位变量,位变量是51的编译器扩充的。

使用特权

评论回复
11
lqjjdx| | 2012-4-6 10:27 | 只看该作者
求大神指点呀

使用特权

评论回复
12
suxilong| | 2015-10-16 09:32 | 只看该作者
black.lu 发表于 2010-6-24 08:31
呵呵,看来我受51内核毒化太深,喜欢拿来比较,我也向ST的工程师咨询了下,其实也是访问速度不一样,类似于 ...

请问  是不是按照以下 方法更换:

51单片机:   idata  unsigned char  a;

转换  到 STM8:   unsigned  char a ;

使用特权

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

本版积分规则

个人签名:零起点,电子承载梦想,为生活debug!

0

主题

162

帖子

1

粉丝