shjw 发表于 2009-4-23 13:28:02

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

如题

lionliu 发表于 2009-4-23 15:51:07

不明白问的是什么

zhwm3064 发表于 2009-4-23 16:37:02

暂时没听说有

hibond 发表于 2009-4-23 17:17:57

找不到的用eeprom关键字就行了不象gcc

tidal 发表于 2009-4-23 21:15:45

定义后同RAM一样用,从不用什么函数

machao 发表于 2009-4-23 21:21:59

好象没有找,只要装了CVAVR,就在你的电脑中。

hdxet 发表于 2009-4-23 21:36:32

定义变量:eeprom char i;或 eeprom int i;   等,只要加入关键字 eeprom 即可
赋值: i=123; 或 i=1234;

shjw 发表于 2009-4-24 08:39:50

被马老师说了一下实在难为情,再一次找了一遍,还看了编译器的有关英文说明还是没有找到,可能自己漏了那个地方吧,呵呵。谢谢大家我知道是怎么用的,但是我想看看函数原型。

void_c 发表于 2009-4-24 08:44:17

CVAVR不熟。

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

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

shjw 发表于 2009-4-24 09:05:58

谢谢,昨天想到看编译代码的忘了,自己太菜菜了

zhwm3064 发表于 2009-4-24 09:12:55

写的:(我这没有读的)
__EEPROMWRB:
        SBIS EECR,EEWE;
        RJMP __EEPROMWRB1
        WDR;
        RJMP __EEPROMWRB;
__EEPROMWRB1:
        IN   R25,SREG
        CLI;
        OUTEEARL,R26
        OUTEEARH,R27
        SBIEECR,EERE;
        IN   R24,EEDR ;
        OUTEEDR,R30
        SBIEECR,EEMWE
        SBIEECR,EEWE
__EEPROMWRB0:
        OUTSREG,R25
        RET

cuikai12345 发表于 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;

/* 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.

qinxg 发表于 2009-4-24 09:33:35

用eeprom关键字, 程序自动完成的

lionliu 发表于 2009-4-24 14:54:11

其实要自己写个也可以的,AVR的PDF里面就写了,看EEPROM那一节就可以了,CV自带的不能指定地址,你定义了一个eeprom int I;
你都不知道它存到EEPROM的哪里去了,还是感觉自己写一个好

shjw 发表于 2009-4-24 15:05:09

CVAVR就是这个缺点不能选择写哪个地址,所以我想看看原型函数,我不想自己使用的地址是从0x00开始的

lionliu 发表于 2009-4-24 15:44:13

AVR的PDF里面真的写的很清楚了,看一看就知道怎么搞了

zhexuejia 发表于 2013-6-6 17:35:40

cuikai12345 发表于 2009-4-24 09:16 static/image/common/back.gif
这是CVAVR里的注解:你自己看一看

Accessing the EEPROM


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

zhwm3064 发表于 2013-6-6 18:17:40

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

可以自定地址的。
页: [1]
查看完整版本: 大家知道CVAVR编译器的EEPROM函数在哪里的,我好想没有找到,谢谢。