找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

IAR for AVR下变量和常量可以像Keil C51一样使用吗?

查看数: 1715 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-8-13 10:36

正文摘要:

我想达到的效果时,常量定义下flash里面,然后可以像变量一样读取。 和下图一样: 这就导致需要写2个函数,一个是变量指针的函数,一个常量指针的函数,keil C51 可以2个函数通用。而IAR for AVR下不行。 ...

回复

ID:883242 发表于 2022-8-13 21:09
我记得AVR是统一编址的啊,应该是AVR可以,51不行。

怎么到你这里就颠倒过来了呢?
ID:1034262 发表于 2022-8-13 14:44
常量读取与变量读取一般不同,51也是不同的。
ID:401564 发表于 2022-8-13 13:32
问题在于"123",不在于什么结构
IAR和Keil对于"123"这个字符串的定义不一样
IAR没有用过,不知道,在Keil中,"123"是被分成"1""2""3"三个ASCII码的
而且,Keil也可以识别"回家"这种中文的字符串,在别的环境,有的是不行
但如果是C语言,那就是一样的,没有什么指令结构这一说的
ID:78835 发表于 2022-8-13 10:49
查找资料,有人说AVR是哈佛结构,他的FLASH空间和SRAM空间是重叠的,所以2个函数不能通用,要区分开来,之前以为是我写法不对,研究了好久,网上的资料大部分是教你如何定义常量到flash,没有说如何读取常量。反正我没办法了,只能写2个函数区别,比如打印函数,写2个,一个可以打印变量的数据,一个打印常量的数据,有没有大神可以解决这个问题的,让它变的通用。类似keil_C51 , PIC一样通用

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表