搜索
bottom↓
回复: 17

大家知道CVAVR编译器的EEPROM函数在哪里的,我好想没有找到,谢谢。

[复制链接]

出0入0汤圆

发表于 2009-4-23 13:28:02 | 显示全部楼层 |阅读模式
如题

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-4-23 15:51:07 | 显示全部楼层
不明白问的是什么

出0入0汤圆

发表于 2009-4-23 16:37:02 | 显示全部楼层
暂时没听说有

出0入0汤圆

发表于 2009-4-23 17:17:57 | 显示全部楼层
找不到的  用eeprom关键字就行了  不象gcc

出0入0汤圆

发表于 2009-4-23 21:15:45 | 显示全部楼层
定义后同RAM一样用,从不用什么函数

出0入0汤圆

发表于 2009-4-23 21:21:59 | 显示全部楼层
好象没有找,只要装了CVAVR,就在你的电脑中。

出0入0汤圆

发表于 2009-4-23 21:36:32 | 显示全部楼层
定义变量:eeprom char i;  或 eeprom int i;   等,只要加入关键字 eeprom 即可
赋值: i=123; 或 i=1234;

出0入0汤圆

 楼主| 发表于 2009-4-24 08:39:50 | 显示全部楼层
被马老师说了一下实在难为情,再一次找了一遍,还看了编译器的有关英文说明还是没有找到,可能自己漏了那个地方吧,呵呵。谢谢大家我知道是怎么用的,但是我想看看函数原型。

出0入0汤圆

发表于 2009-4-24 08:44:17 | 显示全部楼层
CVAVR不熟。

但估计也和IAR差不多。
表面上没有EEPROM库函数,实际上是有的,在库里面。

定义个EEPROM变量,对其读写,
看编译汇编代码,一般是调用某个库函数来实现EEPROM操作的。

出0入0汤圆

 楼主| 发表于 2009-4-24 09:05:58 | 显示全部楼层
谢谢,昨天想到看编译代码的忘了,自己太菜菜了

出0入0汤圆

发表于 2009-4-24 09:12:55 | 显示全部楼层
写的:(我这没有读的)
__EEPROMWRB:
        SBIS EECR,EEWE;
        RJMP __EEPROMWRB1
        WDR;
        RJMP __EEPROMWRB;
__EEPROMWRB1:
        IN   R25,SREG
        CLI;
        OUT  EEARL,R26
        OUT  EEARH,R27
        SBI  EECR,EERE;
        IN   R24,EEDR ;
        OUT  EEDR,R30
        SBI  EECR,EEMWE
        SBI  EECR,EEWE
__EEPROMWRB0:
        OUT  SREG,R25
        RET

出0入0汤圆

发表于 2009-4-24 09:16:32 | 显示全部楼层
这是CVAVR里的注解:你自己看一看

Accessing the EEPROM
-------------------------------------------------------------------

/* The value 1 is stored in the EEPROM during chip programming */

eeprom int alfa=1;

eeprom char beta;

eeprom long array1[5];

/* The string is stored in the EEPROM during chip programming */

eeprom char string[]="hello";

void main(void) {
int i;

/* Pointer to EEPROM */
int eeprom *ptr_to_eeprom;

/* Write directly the value 0x55 to the EEPROM */
alfa=0x55;

/* or indirectly by using a pointer */

ptr_to_eeprom=&alfa;

*ptr_to_eeprom=0x55;

/* Read directly the value from the EEPROM */
i=alfa;
/* or indirectly by using a pointer */
i=*ptr_to_eeprom;
}

Pointers to the EEPROM always use 16 bits.

出0入4汤圆

发表于 2009-4-24 09:33:35 | 显示全部楼层
用eeprom关键字, 程序自动完成的

出0入0汤圆

发表于 2009-4-24 14:54:11 | 显示全部楼层
其实要自己写个也可以的,AVR的PDF里面就写了,看EEPROM那一节就可以了,CV自带的不能指定地址,你定义了一个eeprom int I;
你都不知道它存到EEPROM的哪里去了,还是感觉自己写一个好

出0入0汤圆

 楼主| 发表于 2009-4-24 15:05:09 | 显示全部楼层
CVAVR就是这个缺点不能选择写哪个地址,所以我想看看原型函数,我不想自己使用的地址是从0x00开始的

出0入0汤圆

发表于 2009-4-24 15:44:13 | 显示全部楼层
AVR的PDF里面真的写的很清楚了,看一看就知道怎么搞了

出0入0汤圆

发表于 2013-6-6 17:35:40 | 显示全部楼层
cuikai12345 发表于 2009-4-24 09:16
这是CVAVR里的注解:你自己看一看

Accessing the EEPROM

我是菜鸟,求教,你这个是在哪找到的?

出0入0汤圆

发表于 2013-6-6 18:17:40 来自手机 | 显示全部楼层
shjw 发表于 2009-4-24 15:05 CVAVR就是这个缺点不能选择写哪个地址,所以我想看看原型函数,我不想自己使用的地址是从0x00开始的 ...

可以自定地址的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 00:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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