打印
[STM8]

变量定义

[复制链接]
2508|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sun1238898|  楼主 | 2013-6-15 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8变量定义的时候,比如定义一个unsigned char a;
这个a地址是被定义在0x00-0xff之间,当你现在定义的变量比如很多,超过了0xff之后,编译器通常会报错。
这一点,很多人在设置变量的时候,经常会遇到这样的问题,那这个问题,主要是由于STM8在内核设计的时候,将0xff以内的寻址放在第0页,就是为了寻址方便。
速度也会更快。如果你此时想定义到0xff之外,只需要加入一个@near unsigned char b;那这样变量就被定义到0xff之外了。但寻址速度相对慢点。当然这里有个比较好处的是
可以将我们不经常用的变量放到0xff之外,经常用的放在0xff以内。
这一点,很多人都会烦错误,希望大家从这里可以理解一下ST的良苦用心呀。
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专业单片机Zigbee方案代开发。可接毕设。 店铺:http://mcuzigbee.taobao.com

24

主题

518

帖子

2

粉丝