打印
[AVR单片机]

WinAVR怎么实现ICCAVR的不指定地址定义、调用EEPROM数据?

[复制链接]
3177|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bbslhb|  楼主 | 2013-5-31 10:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bbslhb 于 2013-5-31 10:48 编辑

一直用winAVR,现在改一个用ICCAVR写的程序。
其他都没事,就有一点不好改。
程序用到了char,int,long的变量、数组,并且是存在eeprom中的。
ICCAVR很方便,直接在定义前面加上#pragma data:eeprom,它后面跟的变量就是存放在eeprom中的。
当然了,如果是定义存放在eeprom中的char型,winavr和ICCAVR没啥区别。winavr还可以指定存放在哪个地址呢。
定义char,int,long型的数组就郁闷了。指定地址的话,winavr一次只能定义一个字节,long型的数组得给分配很多地址,读的时候也要分别读,
和ICCAVR的不用分配地址就能定义在eeprom相比,winavr太麻烦了。

怎么能使用winavr编译器,又不用在定义eeprom变量的时候,给每个字节分配地址呢?
/*
知道了,定义时加上EEMEM就行了。。。但是头文件要用eeprom.h
*/

相关帖子

沙发
huangxz| | 2013-5-31 11:17 | 只看该作者

使用特权

评论回复
评论
bbslhb 2013-6-1 13:28 回复TA
禁水! 
板凳
bbslhb|  楼主 | 2013-5-31 16:31 | 只看该作者
只有你一个回帖,分给你了。为了结贴率。
今天看上了一个编译器,sublime text 2,挺好玩的。

使用特权

评论回复
地板
qin552011373| | 2013-5-31 21:25 | 只看该作者
bbslhb 发表于 2013-5-31 16:31
只有你一个回帖,分给你了。为了结贴率。
今天看上了一个编译器,sublime text 2,挺好玩的。 ...

我来了  给点分?

使用特权

评论回复
评论
bbslhb 2013-6-1 13:22 回复TA
+5分 
5
bbslhb|  楼主 | 2013-6-1 13:21 | 只看该作者
忘了怎么结贴了。我晕。

使用特权

评论回复
6
huangxz| | 2013-6-1 13:56 | 只看该作者
bbslhb 发表于 2013-5-31 16:31
只有你一个回帖,分给你了。为了结贴率。
今天看上了一个编译器,sublime text 2,挺好玩的。 ...

没想到你自己这么快就解决了啊,呵呵

使用特权

评论回复
7
qin552011373| | 2013-6-1 20:46 | 只看该作者
huangxz 发表于 2013-6-1 13:56
没想到你自己这么快就解决了啊,呵呵

楼主很聪明的说

使用特权

评论回复
8
bbslhb|  楼主 | 2013-6-6 08:09 | 只看该作者
在单位里面,和同学历的同事相比,我学东西是最慢的。
聪明的人多,笨的人也多。我属于后者。这点小问题,简直不值一提。

使用特权

评论回复
9
qin552011373| | 2013-6-6 13:54 | 只看该作者
bbslhb 发表于 2013-6-6 08:09
在单位里面,和同学历的同事相比,我学东西是最慢的。
聪明的人多,笨的人也多。我属于后者。这点小问题, ...

楼主强悍

使用特权

评论回复
10
qazq123| | 2015-11-3 17:09 | 只看该作者
能不能请教下楼主,我也用iccavr编写avr程序。 我使用EEPROM存储四个变量值,就一个按键控制一位,一开始的初始化为0001,但是初始化就错了,而且虽然能不丢失,但是数据都是错误的,也不能自加。

使用特权

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

本版积分规则

2

主题

40

帖子

1

粉丝